BUUCTF Web [GXYCTF2019]Ping Ping Ping

「作者主页」:士别三日wyx
  此文章已录入专栏《网络攻防》,持续更新热门靶场的通关教程
「未知攻,焉知收」,在一个个孤独的夜晚,你完成了几百个攻防实验,回过头来才发现,已经击败了百分之九十九的同期选手。

一、题目简介

进入连接后是一个「ping」的功能,参数 ip 传递的内容会被当做 ip 地址进行网络连通性测试。
在这里插入图片描述

二、思路分析

        这一关是「命令执行」漏洞,推荐使用「反引号」配合「分号」执行命令查看文件内容

1)多命令执行

根据页面的文本提示,我们尝试传递「参数」 ip,后端会通过命令执行函数去ping参数的内容,可以确定是一个命令执行漏洞,我们使用分号;执行多条命令看一下当前路径下有哪些文件。

在这里插入图片描述
很明显 flag 就在 falg.php 这个文件里面,但「查看」这个文件的过程并不会很顺利

在这里插入图片描述

2)绕过空格

提示我们过滤掉了「空格」,这很简单,我们使用 $IFS$9 绕过空格

在这里插入图片描述

3)绕过flag

成功绕过空格,但 「flag」又被过滤了。上面我们执行ls命令的时候查询出了 flag.php、index.php 这两个文件名,能不能将这个执行结果拿来用一下呢?答案是肯定的,我们可以使用「反引号」,构造的payload如下

?ip=1;cat$IFS$9`ls`

特殊格式 $IFS$9用来绕过空格,执行语句应该是下面这样

?ip=1;cat `ls`

反引号的「优先级」很高,会先执行反引号中的命令,而后在将执行的「结果」结果配合其他命令执行,也就是说,执行的语句时下面这样

?ip=1;cat flag.php index.php

命令执行后会查看这两个文件的内容,从文件的内容中就可以拿到 flag

三、解题步骤

1)查看当前目录

使用分号;「执行多条语句」,在 url 地址栏中输入以下payload,查看当前目录下的文件

?ip=1;ls

当前目录下有两个文件:flag.php、index.php

在这里插入图片描述

2)查看文件内容

使用 $IFS$9绕过空格,配合「反引号」的高优先级特性查看 flag.php 文件,payload如下

?ip=1;cat$IFS$9`ls`

文件内容如下

在这里插入图片描述

3)flag 在注释中

注释中的内容不会直接显示在页面中,右键查看「网页源代码」,获取 flag
在这里插入图片描述

四、总结

喜欢一个东西首先要先学会「尊重」,虽然网络安全的圈子不乏各种灰产,以及高调宣传自己是黑客的脚本小子,但不可否认,这个圈子仍有不少人保持着「举世皆浊我独清,众人皆醉我独醒」的心态,努力磨砺技术,提升自身修养,让互联网变得更加安全

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

士别三日wyx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值