[GXYCTF2019]Ping Ping Ping

Posted F1ght!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[GXYCTF2019]Ping Ping Ping相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
界面就长这样,提示在url栏,进行/?ip=输入试试。

输入127.0.0.1

在这里插入图片描述并没有特殊的返回。

是命令注入的题型:

先尝试输入|cat xx,利用cat指令连接文件并打印出来:
在这里插入图片描述
cat一个任意值,貌似被过滤了。

尝试输入|ls,进行查看其php文件内容:

在这里插入图片描述
显示有这样两个文件,但是直接连接什么也没有显示,尝试通过cat连接,即cat flag.php,

还是什么也没有,或者直接返回了上一个界面。

推测有过滤:

语句提示空格被过滤了。尝试将空格转化为其他的东西,建议换为${IFS},这是shell语言中的环境变量,相当于bash中的空格。

还是被过滤了,回显提示,符号(“symbol”)被过滤了,则更改为$IFS$1,代替空格:
在这里插入图片描述
回显提示flag也被过滤掉了,flag也应该替换,可以替换为base64编码:

用 |base64 -d|bash这样的bash指令,可以绕过flag,但还是不行,可以先cat index.flag

在这里插入图片描述
查看到了代码,发现其对bash以及各种符号都进行了过滤,对flag进行了贪婪匹配。

正则匹配中使用“.·?”称作非贪婪匹配,“.`”称为贪婪匹配,即将满足条件的匹配,尽可能多的进行筛选。

可以使用linux中的sh脚本来代替bash,sh不会被过滤:

构造payload:

?ip=127.0.0.1|echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS​$1-d|sh

在这里插入图片描述

以上是关于[GXYCTF2019]Ping Ping Ping的主要内容,如果未能解决你的问题,请参考以下文章

BUUCTF-[GXYCTF2019]Ping Ping Ping(命令执行)

[BUUOJ记录] [GXYCTF2019]Ping Ping Ping

两台电脑同一个路由,win10能pin通win7 win7不能ping通win10

Ping 不通的原因分析

ping 死进行时

简单DOS命令