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小时内删除。