DVWA  Command Injection 命令注入全等级分析与实践 – 作者:wakemeup

DVWA  Command Injection 命令注入全等级分析与实践:

其实看漏洞会觉得这个漏洞很厉害,这相当于拿到了一个shell,但最大的问题不是权限问题,最大的问题是这样的漏洞罕见啊,不像sql注入,xss这样具有很强的通用性,毕竟sql查询,留言等操作,基本上是web很常见的操作,而像这样的cmd的操作,让用户输入,然后把用户输入直接cmd运行很少见。

用户可以执行恶意代码语句,在实战中危害比较高,也称作命令执行,一般属于高危漏洞。

1624599110_60d56a46396cd18564248.png!small

危害:

1.继承Web服务程序的权限去执行系统命令或读写文件

2.反弹shell

3.控制整个网站甚至控制服务器

4.进一步内网渗透

Low:

查看源码:

1624599123_60d56a53ea5a1ba0f98e2.png!small

当中涉及的函数:

1624599133_60d56a5ddfdbc219ed488.png!small

源码中暴露的问题:

​ 直接将target变量带入到了shell_exec命令执行的函数中

命令连接符:

1624599141_60d56a65538855993558e.png!small

传参时注入命令:127.0.0.1 &&dir或者127.0.0.1 &&ipconfig

1624599149_60d56a6d9e9c6fb3a0f7b.png!small

1624599160_60d56a789db791c2b391f.png!small

Medium:

查看源码:

1624599168_60d56a80bb1f9d1dd77cf.png!small

str_replace函数:

1624599176_60d56a88c01be5a644bea.png!small

源码中暴露的问题:

​ 添加黑名单机制过滤掉了’&&’,’;’两种传参,但还可以使用其他方式

传参时注入命令时使用’|’连接符:

1624599184_60d56a905f18cd6dc1df8.png!small

High:

查看源码:

1624599198_60d56a9e9d7433e8d9d17.png!small

源码中暴露的问题:

​ 看似过滤挺全面的,但其实’| ‘这个中是带空格的,所以我们依然可以使用’|’绕过

1624599215_60d56aaf1065071d98c20.png!small

Imposssible:

查看源码:

1624599226_60d56abad8871573c9db0.png!small

可以理解为白名单过滤,限制了传参只能为数字,且为一串ip地址的形式

Command Injection防护总结:

1.白名单校验命令参数

2.一般情况下尽可能使用白名单彻底解决命令注入风险,但是存在某些场景白名单不支持,例如 命令参数是设备密码,不能用白名单 限制特殊字符(&& || | ;等特殊字符),这时可以考虑使用单引号禁止命令解析功能。

来源:freebuf.com 2021-06-25 13:34:57 by: wakemeup

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论