DVWA靶场练习(二)——Command Injection

命令注入是指由于系统对参数缺少过滤,导致攻击者可以在目标系统上执行任意命令

在linux或windows系统上,可以通过命令连接符同时执行多条命令,攻击者往往可以将注入的命令放到连接符之后进行执行。例如

ls || ifconfig

下面是常见的命令连接符:

  • command1 & command2 command1和command2都执行
  • command1 && command2 command1执行成功再执行command2
  • command1 || command2 command1执行失败再执行command2,command1执行成功则不执行command2
  • command1 | command2 command1的输出作为command2的输入

Low

将安全等级设置为low,可以看到可以文本框可以输入一个网站进行ping操作

在这里插入图片描述

使用&& 连接ls 命令即可在后面看到当前目录的文件,说明命令注入成功

在这里插入图片描述

源码分析

分析源码,可以看到low安全等级使用target变量获取接收用户输入后,调用shell_exec函数进行了执行,没有做任何过滤。

在这里插入图片描述

Medium

将安全等级设置为Medium,此时&&连接符失效,使用&连接符仍然可以成功注入命令。

在这里插入图片描述

源码分析

可以看到Medium等级对&&;连接符进行了过滤。

在这里插入图片描述

High

在High等级可以使用| 连接符进行命令注入,注意不要加空格。

在这里插入图片描述

源码分析

查看源码,可以看到对更多连接符进行了过滤,但是| 后多了一个空格,因此可以仍然可以使用| 符号成功注入。

在这里插入图片描述

Impossible

源码分析

将安全等级设置为impossible,此时分析源码,可以看到,首先将IP地址使用. 进行了分割,然后依次判断分割后的部分是否都为数字,如果分割后的每个部分均为数字并且刚好分割为4个部分则说明IP地址格式正确,使用. 重新连接后再进行命令执行。如果IP地址格式错误则不再执行。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值