[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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

F1gh4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值