Web安全-命令执⾏漏洞利⽤与防护
实验声明:本实验教程仅供研究学习使⽤,请勿⽤于⾮法⽤途,违者⼀律⾃⾏承担所有风险!
命令执⾏漏洞利⽤与防护
【实验⽬的】
掌握命令执⾏漏洞产⽣的原因和利⽤⽅法,感受其带来的危害,了解相应的防范策略。
【实验环境】
**⽬标靶机:**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地址:
以⽤户名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服务器;
用phpstudy搭建网站 (4)辅助内⽹渗透。
对其的防护策略是:
(1)尽量不要执⾏⼀些外部命令;
(2)使⽤⾃定义函数或函数库来代替外部命令;
(3)使⽤⼀些过滤函数来对⽤户输⼊的命令参数进⾏过滤;
(4)指定可执⾏⽂件的路径,预先把要使⽤的命令放置在该路径下。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论