DVWA靶场的Command Injection的四个测试

看一下各个安全水平的源代码
在这里插入图片描述上面的代码中
isset()是看变量是否已经设置并且非空,stristr()是搜索字符串在另一字符串中的第一次出现,shell_exec()是通过shell执行命令并将输出结果作为字符串输入
low级别的代码对提交的参数没有进行过滤,仅仅判断是否是Windows NT,所以用一些连接符号就可以进行测试,如
& 执行命令一和命令二
&&先执行命令一成功后再执行命令
| 只执行命令二
|| 只有命令一执行失败才执行命令二

在这里插入图片描述
该级别与low的不同处是建立了一个数组,并将一些字符放在该数组,并且当目标中包含所有键名的新数组时,用$substitutions代替,也就是过滤了上述字符,也就是;和&&
代码中的array()是创建数组,str_replace()是以其他字符替换字符串里的一些字符
在这里插入图片描述从这里知道medium级别过滤了&&
在这里插入图片描述
但是&是可以的

在这里插入图片描述
通过high级别的代码也可以看出它再medium级别的基础上又严格过滤了一些字符,对于该级别的绕过可以用|,因为从代码中可以看出它仅仅过滤了 |空格
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
上述代码中的explode表示把字符串打散为数组,stripslashes会删除字符串中的反斜杠,该级别不存在命令注入漏洞

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值