BUUCTF-Web Easy Calc
要素察觉
打开calc.php发现源码
过滤了很多字符。题目一开始提示了有waf,最后通过eval实现计算功能。考虑利用该函数读取flag文件,先尝试弹个phpinfo
被waf拦截,在num参数前面插一个空格来绕过waf
原理:加空格使waf把num参数错误解析成%20num,这个参数是不存在的,但php解析的时候会自动把空格删掉,从而bypass。
利用var_dump和scandir查看目录。‘/’被过滤所以用相应的ascii表示
写了个php转码
构造payload:calc.php? num=file_get_contents((chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
获取flag