当前位置: 代码迷 >> 综合 >> BUUCTF系列 // [GXYCTF2019] Ping Ping Ping
  详细解决方案

BUUCTF系列 // [GXYCTF2019] Ping Ping Ping

热度:84   发布时间:2024-02-24 13:13:58.0

前言

本题知识点:命令执行漏洞

WP

打开题目页面,提示很明显,那就先随便 ping 个 IP 地址看看效果

在这里插入图片描述
可以看到系统命令被正常执行了,有正确回显

接下来尝试一下是否存在命令执行漏洞,首先用 ls 试一试,看看有没有提示 flag 所在的位置

在这里插入图片描述
发现确实存在着命令执行,并且得到了新的线索

先试着直接用 cat 命令读取 flag.php 文件的内容

在这里插入图片描述
题目报了个错,(初看没太明白这些提示,后来结合其他的报错,意识到许多字符被过滤了,Like 空格)

既然题目过滤了空格,那就用绕过(使用 $IFS$9 代替空格符)试试呗

PS:命令执行漏洞,绕过过滤姿势 传送门

在这里插入图片描述
。。。既然不让直接读 flag,那就试试访问另外一个提示文件 ‘index.php’,看看有没有什么另外的线索

在这里插入图片描述
题目过滤的字段一目了然,可以看到,无法直接访问 flag.php 文件的原因在于 flag 字段也被过滤了,那就接着绕过呗,绕过姿势仍可参考前文所附 连接

在这里插入图片描述
然后就到了这题最坑的地方,他把 flag 放在了网页源码里面。。。页面又没啥明显的提示,这回显一度使我怀疑是不是哪出错了,不会没 cat 上吧。。。

在这里插入图片描述
PS:

看完 WP,学到了另外一种解法,即使用 内联执行 来绕过

在这里插入图片描述
构造 Payload 如下:

...?ip=127.0.0.1;cat$IFS$9`ls`

使用内联执行会将 `` 内的输出作为前面命令的输入,当我们输入上述 payload 时,效果等同于 cat flag.php;cat index.php

在这里插入图片描述