[RoarCTF 2019]Easy Calc 1 个人写题日记
进入网页,打开网页源码看看
于是可以先访问calc.php看看有没有线索
这段php代码使用了eavl()函数,这个函数的作用是把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
但是该php代码屏蔽了许多我们可能用的上的字符,所以我们要绕过黑名单,执行我们想要的代码。
可以使用asc11码值代替黑名单中的符号。
直接给num赋值,?num=phpinfo();
直接发生错误
这里有一个WAF问题,我从这里学到的,点击学习
直接用代码? num=phpinfo();
注意num前面有一个空格
这里,我们需要用到scandir()
函数查询扫描根目录
因为php代码屏蔽了/
,所以我们用chr(47)代替
? num=print_r(scandir(chr(47)));
找到flagg后,我们打开flagg文件
flagg每个字母用asc11码值代替
? num=print_r(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)));