0
点赞
收藏
分享

微信扫一扫

BUUCTF之Ping Ping Ping

_鱼与渔_ 2022-02-20 阅读 195

目录

审题

常用的空格绕过方法

解决方法

法一        拼接绕过法

法二        内联执行法

法三        sh编码绕过法


审题

点开链接

根据题目提示随便试试构造payload

inurl?ip=666

 有返回,参数ip的值就是要ping的内容

这里我们知道有Windows和Linux通用的命令分隔符%0a、| 、& 、 ;

先试试看Windows特有的命令dir,使用分隔符|

构造payload  , inurl?ip=127.0.0.1 | dir

  emmm,好像是空格符被过滤掉了,把空格符删去再试试看

没反应,操作系统应该不是Windows了,输入命令ls,查看当前目录的文件 

 找到了放flag的文件,但是要打开该文件得用到命令cat flag.php , 必须绕过空格过滤

常用的空格绕过方法

不着急,先试着打开index.php查看过滤方法

使用命令cat$IFS$6index.php

接着查看网站源码 

what's up 好多绕过的方法都被过滤了

解决方法


法一        拼接绕过法

这个方法主要是绕过对flag正则匹配的检测,有点悬,目前好像只能拼接末尾的g\ag\lag,我也不太清楚为啥

将lag替换成x,绕过对flag的正匹检测,构建payload

查看网站源码后得到flag


法二        内联执行法

可以看到代码没有过滤掉符号`  , 所以可以利用内联执行的方式直接打开flag文件

先执行命令ls,再把ls得到的文件名全部用命令cat打开,构建payload 

再查看源码后拿到flag


法三        sh编码绕过法

使用方法

echo 命令编码|base64 -d|sh

  •  sh可以换成bash , 但是题目过滤掉了
  • 也可以换成其他的编码形式,这里用base64的
  • 空格用$IFS$6替换掉
  • cat flag.php 的base64编码为Y2F0IGZsYWcucGhw

构造payload  , 相当于执行命令cat flag.php

再查看网站源码,拿到flag


参考文章:

举报

相关推荐

[GXYCTF2019]Ping Ping Ping

[GXYCTF2019]Ping Ping Ping 1

PING

ping命令

ping不通

ping 网络

0 条评论