010-webshell
题目描述
小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。
解题思路
- php代码一定要放在
<?php ?>
里面执行 - eval() 函数就是把字符串按照 PHP 代码来计算。
- @符号是让语句不报错
- 预定义的
$_POST
变量用于收集来自 method=“post” 的表单中的值。名称即为_POST[ ]
括号中的值。 - 因此我们需要利用burpsuite,使用POST方法提交名称为shell的一个变量
- 但变量的值是啥呢?这时候就要思考一下题目webshell是啥意思。即可以把web页面当作shell来利用。
- 页面语句的意思就是会把shell变量的值当作一条命令来运行
- 我们POST一个变量
shell=system(ls);
- 发现有flag.txt文件,我们直接在网页url访问它
- 也可以利用php语法来把它显示出来
- 不过
shell=
后面的参数不可以有空格的,不知道为啥