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

 

posted @ 2020-04-18 17:40  remon535  阅读(294)  评论(0编辑  收藏  举报