进入网页,是一个计算器,一个简单的计算器,就是你输计算式然后它给你个答案那种。可能用的是什么php函数吧,用f12查一下源码。
这里有个url,链接calc.php,访问一下。
不过有个参数num,可以注入试试。
输入num=2*2有回显。
输入字母的话,显示我被禁止了,没有权限。应该是有防火墙,过滤了字母。这时知识点来了:
WAF不允许num传入字母,那我们可以在num前加个空格来绕过WAF。如:?num=a,这是会被过滤掉的,但输入? num=a则不会,这是利用了PHP的字符串解析特性来绕过WAF。前端接受的参数是” num”的,不是”num”,绕过了限制。而到了后端,num前的空格被php自动删除了,又变回了“num”.
试了试phpinfo()函数,没反应,应该是没有过滤函数.
想扫描当前目录所有文件,可以使用scandir(“/”),但斜杠被过滤了。不过它这种过滤十分简单,chr(47)是斜杠的ascll码,把它替换了就绕过了。
//去网上抄个作业
? num=print_r(file_get_contents('/flagg'));
这里/=chr(47),f=chr(102),l=chr(49),a=chr(97),g=chr(103),g=chr(103)来进行绕过
? num=print_r(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)));
结束🥰🥰