[GXYCTF2019]Ping Ping Ping 1
[GXYCTF2019]Ping Ping Ping 1 个人写题日记
1.刚开始进去界面是这样的,按F12查看源码,什么也没有
2.输入一段IP还是没有什么重要的发现
3.我首先想到的是用注入试试,结果不行
4.最后发现是命令执行
输入ls查看文件,发现有一个flag.php和index.php
5.首先查看flag.php
想着应该是过滤了空格
6.输入代码/?ip=1;cat$IFS$1flag.php
IFS在系统命令里是空格的意思,它的前后面加$是为了固定这个语句,不然和其他字符串行会出错,后面的$1
是空字符,也可以写成${IFS}
或${IFS}$9
之类的,但{IFS}
这个不行,因为{}被过滤了。
7.看来不能直接查看flag.php,那我们再看看index.php
代码审计:
这些if语句屏蔽了空格、bash、“flag”关键字,所以我们应该绕过这些屏蔽的条件。
我这里使用了转义的方法:
/?ip=1;a=ag;b=fl;cat$IFS$1$b$a.php
最后查看源码,得到flag