是个计算数字的页面,f12查看源码发现是将输入的值发送到calc.php
访问calc.php页面得到源码,黑名单对一些字符做了过滤
但是在拼接phpinfo()的时候显示的403,就算只输入一个a也不行
这时候想到主页的源码中有提到做了waf,经过多番尝试,最终在参数num前加上空格就能绕过,具体原理我也不清楚
但是在phpinfo里可以看到很多函数被禁用了,几乎不能任意命令执行,引号都被过滤了,读文件也不能直接读,这里我结合了无参数rce读取flag,因为这里可以有数字参数,所以没那么麻烦
chr() //将ascll码转变成字符
scandir() //返回指定目录的数组
readfile() //读取指定文件
var_dump(scandir(chr(47)))
中括号被过滤了可以用大括号代替
用点连接/和flag的文件名
readfile(chr(47).scandir(chr(47)){7})