首先还是将DVWA的安全级别设置为Low,然后单击DVWA页面左侧的Command Injection按钮。
图5-1 Low级别的命令注入
这个就是最典型的命令注入接口。在文本框中输入一个IP地址,然后返回ping命令的结果,单击页面右下角的View Source按钮,查看页面的源码,如图5-2所示。
图5-2 Low级别命令注入源码
从图中可以看出,服务器对输入的参数没有做任何的检查,直接使用shell_exec里面执行了。使用者完全可以在IP后面构建任何命令进行注入。最简单的构建命令方法就是在IP后面添加&&符号,这个符号可以理解为逻辑运算与,Linux和Windows都是通用的。例如命令ping 127.0.0.1&&cat /etc/passwd可以理解为执行命令ping 127.0.0.1,当该命令可以正常返回时再执行命令cat /etc/passwd。
在页面的文本框中输入127.0.0.1 && cat /etc/passwd,返回的结果如图5-3所示。
图5-3 Low构建命令返回的结果
就是这么简单,基本上只要是权限允许(这里的用户是http,可以执行一般的常用命令),构建任何命令都可以。相当于得到了一个有限制的shell。有了shell后,可以做的事情就太多了,比如下载木马病毒什么的,都是可以的。
有兴趣的欢迎一起读这本书《11招玩转网络安全——用Python,更安全》