阿信在努力

预见未来的最好方式就是自己去创造一个

dvwa command injection(命令注入)

0x1

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

low

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

medium

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

high

这题可以用管道符绕过,我们直接来看一下源码:
这里写图片描述
我觉得这一题有点…..
大家可能会很疑惑,命名这个黑名单中把该过滤的东西都过滤掉了,为什么还是可以用管道符进行绕过呢?答案就在我箭头所指处,考眼力的时候到了。

impossible

再来看一下impossible的源码,看看别人是如何防范的:
这里写图片描述
先将ip地址用点分为一个数组,然后判断每一位是否是数字,如果是数字,然后再把他们拼起来。针对特定命令有特定的防范措施,这样才能最大限度的降低漏洞产生的可能性

阅读更多
版权声明:本文为博主原创文章,转载请联系博主 https://blog.csdn.net/he_and/article/details/80317708
文章标签: dvwa command injection
个人分类: -----------------其他
所属专栏: dvwa教程
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

dvwa command injection(命令注入)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭