Web安全-命令执行漏洞利用与防护

2020-12-22 00:28

阅读:469

命令执行漏洞利用与防护

【实验目的】

??掌握命令执行漏洞产生的原因和利用方法,感受其带来的危害,了解相应的防范策略。

【实验环境】

**目标靶机:**DVWA2008
(用户名: 360college 密码: 360College)

**Web渗透主机:**WebPentester
(用户名: college 密码: 360College)

【实验原理】

??命令执行漏洞指的是网站的应用程序有些需要调用执行系统命令,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。本实验通过利用网站的命令执行漏洞,使大家了解命令执行漏洞产生的原因,感受其带来的危害,了解相应的防范策略。

??当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system,exec,shell_exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击。

??常见的原因有:

??(1)代码层过滤不严格:商业应用需要执行命令,商业应用的一些核心代码可能封住在二进制文件当中,在web应用中通过system函数调用。

system("/bin/program --arg $arg")

??(2)调用第三方组件存在的代码执行漏洞:如wordpress,可以选择imagemagick这个常用的图片处理组件,处理用户上传图片时造成命令执行;还有JAVA中 struts2/elasticsearch groovy等。

实验步骤

第一步 登录存在文件包含漏洞的Web服务器并启动网站Web服务

??(1)使用360College账号登录靶机(密码为360College)

技术图片

??(2)双击桌面快捷方式phpStudy启动服务:

技术图片

??Web服务成功启动后的界面如下图所示:

技术图片

第二步 渗透主机远程访问DVWA网站,并利用命令执行漏洞获取信息

??(1)输入url地址:

??http://【靶机IP】:8085

??以用户名admin密码password进行登录:

技术图片

??(2)设置训练级别为low

技术图片

??(3)在命令执行菜单框下输入127.0.0.1并通过submit提交,此时反馈信息显示执行了“ping 127.0.0.1”命令

技术图片

??(4)在命令执行菜单框下输入127.0.0.1 && natstat -an再次通过submit提交,此时反馈信息显示不仅执行了“ping 127.0.0.1”命令,而且还执行了“natstat -an”命令:

技术图片

??执行结果如图所示:

技术图片

??(5)如果分析DVWA命令执行功能源代码,如图所示:

技术图片

??其在使用shell_exec命令执行函数时没有将输入的参数进行限制,导致能够带入其他系统命令来执行。

【思考与总结】

??命令执行漏洞能够造成的危害有:

??(1)执行系统命令或读写系统文件;

??(2)反弹内外shell;

??(3)控制整个Web服务器;

??(4)辅助内网渗透。

??对其的防护策略是:

??(1)尽量不要执行一些外部命令;

??(2)使用自定义函数或函数库来代替外部命令;

??(3)使用一些过滤函数来对用户输入的命令参数进行过滤;

??(4)指定可执行文件的路径,预先把要使用的命令放置在该路径下。


评论


亲,登录后才可以留言!