题意大致为网站含有一句话漏洞,可以利用这个漏洞得到flag;
1.PHP explode(),此函数可以将字符串打散为数组
如:$str = "i love flag !";
print_r(explode(" ",$str));
输出为:Array([0]=>i[1]=>love[2]=>flag[3]=>!);
按照“ ”引号内(即separator)的字符划分。
2.PHP scandir()函数
如:$dir = “/images/”;
$a = scandir($dir);(默认升序)
print_r($a);
输出会列出/images/目录的文件和目录。
3.assert(),同eval()函数一样是同一种将字符串当成代码来执行的函数
具体参见博客:https://blog.csdn.net/fuckcat_2333/article/details/52122182
4.分析本题的过狗一句话:
poc_1被打散为a s s e r t,存放在poc_2。
此时poc_2即为assert,poc_2利用get的方式获取一个s 的值,s的值在地址栏直接输入,执行poc_2()内的代码。
可以执行查看目录等命令。
http://123.206.87.240:8010/?s=print_r(scandir('./'))
得到一个flag相关文件,打开得到flag。