buuctfweb的pingpingping的wp

1:审题:

我们看到题目标题时就知道本题需要用ping命令(这是网站要干的事情,跟我们没关系,我们只需要输入一个可以连接的ip就行)来连接服务器并且通过代码获取flag。进入题目界面,我们看到了?ip=,这提示我们在写url时最开始的地方要怎么写,即:url/?ip=......。

在此之后,我们查看源码,发现毫无用处,我们就想到了这应该与文件包含漏洞没有什么关系(因为源码中并没有给出有像include,fopen之类的敏感函数),显然,我们要想得到flag,又只有一种可能那就是在某个文件中,思来想去,好像也只有lilux系统下的那个命令可以拿文件,于是使用拼接符来连接两个语句(一个写ip,不然无法使用ping与服务器连接,另外一条语句写文件查询语句),在经过一个个的试验后发现 | 是可用的,于是写出命令url/?ip=127.0.0.1|ls,不出意外的网站给出了他具有的文件列表,其中就有一个是flag.php,

基本上就可以确认flag的位置了,此时我们的目的就只有一个,那就是拿到flag.php 的文件内容,于是我们输入命令:url/?ip=127.0.0.1|cat flag.php,然后网站提示我们他过滤了空格,

于是又一个个的去试验哪个能绕过这个空格,最终我们发现$IFS$9是可行的一个绕过方式,继续输入url/?ip=127.0.0.1|cat$IFS$9flag.php,然后网站又提示我们说他竟然把flag也过滤掉了,

这怎么办呢,经过思考之后,我们想到了 ` ` 这个特殊符号(会把执行后结果返回出来),于是我们用上了url/?ip=127.0.0.1|cat$IFS$9`flag.php`,然后发现页面居然没反应,然后就没办法了,试试能不能把全部内容给返回出来,于是乎又来了url/?ip=127.0.0.1|cat$IFS$9`ls`,结果发现还是没有什么有关flag的东西,无聊之下翻看了一下源代码,里面竟然出现了flag!,而且还是正确的flag,我的天,误打误撞竟然拿到了flag

2:知识储备:

i):有关拼接符的相关知识储备:

 命令拼接符:

命令执行就用命令拼接符执行漏洞命令就行。常见的命令拼接符为以下四种。

&:无论左边是false还是true,右边都执行。

&&:具有短路效果,左边是false,右边不执行。

|:无论左边是false还是true,右边都执行。

||:具有短路效果,左边是true,右边不执行
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_70434663/article/details/129306577

ii):有关空格绕过的知识储备:

命令执行的一些绕过技巧_命令执行空格绕过-CSDN博客

iii):有关lilux命令的知识储备:

Linux命令大全(超详细版)_linux命令行大全-CSDN博客

  • 22
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值