Web安全与防护 实训指南 6.1命令执行漏洞渗透测试与绕过.pdf
命令执行漏洞渗透测试与绕过
【实训目的】
1.熟悉系统命令连续执行的管道符号;
2.掌握验证命令执行漏洞的方法;
【实训原理】
操作系统命令可以连接执行是造成命令执行漏洞存在的前提条件。无论是在
Windows操作系统还是Linux操作系统之中都可以通过管道符支持连续执行命
令。命令执行漏洞的主要防范措施也在于过滤用户输入的管道符。
【实训步骤】
步骤1、登录DVWA系统。在DVWASecurity当中选择low选项,并提交。
然后选择CommandExecution菜单。
步骤2、在输入框输入命令查看结果。
(1)输入IP地址127.0.0.1,点击submit按钮提交查看结果;
(2)输入127.0.0.1ipconfig,点击submit按钮提交查看结果;
(3)输入127.0.0.1ipconfig,点击submit按钮提交查看结果;
(4)输入127.0.0.1|ipconfig,点击submit按钮提交查看结果;
(5)输入127.0.0.1||ipconfig,点击submit按钮提交查看结果;再输入
1||ipconfig,点击submit按钮提交查看结果。
步骤3、绕过命令执行漏洞防范措施。
(1)在DVWASecurity当中选择medium选项,并提交。然后选择Command
Execution菜单。
(2)再重复步骤2中的(2)、(3)、(4)、(5)查看结果。
(3)通过(2),可以看到仅被过滤,也说明过滤措施不完善,也就讲可
以继续使用、|和||管道符。
步骤4、利用命令执行漏洞读取文件及文件内容。
(1)在输入框中输入127.0.0.1|dird:\,将看到d盘中文件。
(2)在输入框中输入127.0.0.1|typed:\a.php(a.php为d盘下的一个文件),查
看网页源代码就可以看到文件内容,如下图所示:
图6-3利用命令执行漏洞查看文件内容
【实训总结】
命令执行漏洞存在的前提是由于操作系统命令可以通过管道符连续执行,因
此可以通过过滤管道符来防范命令执行漏洞。