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

原文地址:https://www.cnblogs.com/remon535/p/12727042.html