Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现

Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现 

一、漏洞描述

S2-057漏洞产生于网站配置xml的时候,有一个namespace的值,该值并没有做详细的安全过滤导致可以写入到xml上,尤其url标签值也没有做通配符的过滤,导致可以执行远程代码,以及系统命令到服务器系统中去 。

二、漏洞影响版本

Apache struts 2.3-Apache struts 2.3.34

Apache struts 2.5-Apache struts 2.5.16 

三、漏洞环境搭建以及复现

Win7+tomcat7.0+struts-2.5.16

1、下载struts 2.5.16官方示例showcase

2、把下载的struts2-showcase放到tomcat的webapps目录下

  

Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现

3、修改struts-actionchaining.xml,发现有两处需要修改

  

Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现

4、修改struts-actionchaining.xml,将namespace删除, 将 result 类型改为 redirectAction

修改为如下:  

<struts> <package name="actionchaining" extends="struts-default"> <action name="actionChain1" class="org.apache.struts2.showcase.actionchaining.ActionChain1"> <result type="redirectAction"> <param name = "actionName">register2</param> </result> </action> </package> </struts>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxfjg.html