dvwa command injection(命令注入)

0x1

命令执行漏洞的产生原因一般就是将用户输入未经过滤或者过滤不严就直接当作系统命令进行执行,我们可以通过批处理中的一些技巧来一次执行多条命令,这样就可以执行任意命令。在命令执行中,常用的命令连接符号有四个:&& & || | ;
&&:前一个指令执行成功,后面的指令才继续执行,就像进行与操作一样
||:前一个命令执行失败,后面的才继续执行,类似于或操作
&:直接连接多个命令
|:管道符,将前一个命令的输出作为下一个命令的输入
;:直接连接多个命令
我们接下来就用dvwa的command injection来演示该漏洞的危害

low

可以看到此处让我们输入ip地址,后台执行的应该就是ping命令,现在我用【&&】符号来连接两个命令,&&符号必须在前面的命令执行成功后才能执行下一条,我举个例子:
&&连接ping与whoami,因为前面的ping执行成功了,所以后面的whoami也成功了
这里写图片描述
下面我ping一个错误的ip地址试一下:
这里写图片描述
woami命令没有执行。言归正传,我们来看一下在这一题中,我们的命令能否执行成功:
这里写图片描述

medium

还是用&&连接试一下,错误:
这里写图片描述
我推断可能是&&被替换为空了,那我们就试一下其它的连接方法呗。
输入:123||whoami
执行成功:
这里写图片描述
我们来看一下源码:
这里写图片描述

high

这题可以用管道符绕过,我们直接来看一下源码:
这里写图片描述
我觉得这一题有点…
大家可能会很疑惑,命名这个黑名单中把该过滤的东西都过滤掉了,为什么还是可以用管道符进行绕过呢?答案就在我箭头所指处,考眼力的时候到了。
####impossible
再来看一下impossible的源码,看看别人是如何防范的:
这里写图片描述
先将ip地址用点分为一个数组,然后判断每一位是否是数字,如果是数字,然后再把他们拼起来。针对特定命令有特定的防范措施,这样才能最大限度的降低漏洞产生的可能性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值