文章目录
- 1.命令执行漏洞
- 2.常用的cmd命令
- 3.命令执行防御
- [4.DVWA的Command Injection](#4.DVWA的Command Injection)
-
- [4.1 Low Security Level](#4.1 Low Security Level)
- [4.2 Medium Security Level](#4.2 Medium Security Level)
- [4.3 High Security Level](#4.3 High Security Level)
- [4.4 Impossible Security Level](#4.4 Impossible Security Level)
1.命令执行漏洞
一般出现命令执行漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口,比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上,一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后后台会对该IP地址进行一次ping测试并返回测试结果。而如果设计者在完成该功能时,没有做严格的安全控制 ,则可能会导致攻击者通过该接口提交恶意命令,让后台进行执行,从而获得后台服务器权限。(网络本身有网络连接测试功能)
2.常用的cmd命令
- dir:查看目录
- whoami:查看当前用户名
- ipconfig:查看网卡信息
- shutdown -s -t 0:关机,-t是时间设置选项,这里设置为0s
- net user [username] [password]/add:增加一个用户名为username密码为password的新用户
- type [file_name]:查看filename文件内容
3.命令执行防御
防御命令执行的最有效的方法,是过滤命令连接符。将 " I " " ; " " & " " || " " && " 替换为空,或判断用户输入这些符号就终止执行。
- cmd1 | cmd2:无论cmd1是否执行成功,cmd2将被执行
- cmd1 ; cmd2:无论cmd1是否执行成功,cmd2将被执行
- cmd1 & cmd2:无论cmd1是否执行成功,cmd2将被执行
- cmd1 || cmd2:仅在cmd1执行失败时,cmd2才被执行
- cmd1 && cmd2:仅在cmd1执行成功时,cmd2才被执行
4.DVWA的Command Injection
4.1 Low Security Level
4.2 Medium Security Level
DVWA medium防御中只过滤了 " && " " ; ",并不会影响其他符号的正常使用。
4.3 High Security Level
4.4 Impossible Security Level
impossible的防御正如其名,是不可能被攻击的,是安全开发人员的典范。