橙子科技命令执行靶场

检查网页源代码的flag才对,不然就笨笨爱大壮了,就是它:falg={benben love dazhuang}。

这个靶场是存在源码泄露的

0x01 常见命令执行危险函数

system()函数:

直接根据要求传参即可,0x01常见命令执行危险函数都是如此,直接传参即可,主要是熟悉命令执行函数。

0x02 过滤命令执行函数

这里使用了正则匹配,exec等函数不能使用,但并没过滤完整,使用passthru进行绕过。

0x03 命令连接符

链接演示1:

 查看源代码发现将cmd传递的参数进行拼接执行,payload:?cmd= /;cat flag.php 先查看根路径下有哪些文件,然后使用分号执行查看命令,分号的作用是结束执行本条命令。先将ls给废掉然后再执行自己的。

||拼接:

payload:?cmd=cat flag.php||或者为?cmd=cat flag.php;

$cmd = $cmd." >/dev/null 2>&1"; 这段代码的 含义是将命令的输出重定向到 /dev/null,从而隐藏命令的输出。

 0x04 过滤空格

 这里使用了<过滤空格,也可以使用<>,${IFS}等进行绕过。

 0x05 文件名过滤

代码审计发现过滤掉了/flag等关键字,直接使用*过滤不让用system()函数 其他又不是不能用。

payload:passthru('cat /fl*');

0x06 文件读取命令过滤

读取过滤:

 代码审计发现过滤了/flag,引号等一系列关键字,还是那句话黑名单很难过滤全,条条大陆通罗马,换条路即可。不让我用单引号那我就用双引号,不让我用cat命令那我可以用tac命令。直接上?cmd=system('tac /fl*');答案不唯一。

grep方法绕过:

此题用上一题的方法可以绕过,但是说用grep那就试试

0x07 编码绕过介绍

base64编码绕过:

这里将cat提前进行了base64 编码

hex:

这里将cat f*进行了hex编码。 

总结:

这个靶场有个坑,这个坑就是在根目录下有一个flag,所以体现了现ls的重要性。要查看文件先确定路径,但是主要是为了熟练命令执行手法。在这个靶场里可以一条路走到黑,但是多一种方法往往又是就多一种出路。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值