struts漏洞修补

来源:互联网 发布:软件测试工程师考题 编辑:程序博客网 时间:2024/04/29 01:41

一、struts漏洞描述

Struts存在一个远程命令执行漏洞和一个开放重定向漏洞(编号:CNVD-2013-28972,对应CVE-2013-2251;
CNVD-2013-28979,对应CVE-2013-2248)。利用漏洞,可发起远程攻击,轻则窃取网站数据信息,严重的可取得网站服务器控制权,构成信息泄露和运行安全威胁。

二、修补方法

官方建议立即升级到2.3.15.1,具体步骤是

1、升级到struts2.3.15.1(下载地址:http://struts.apache.org/download.cgi#struts23151

需要导入的包有:

asm-3.3.jar

asm-commons-3.3.jar

asm-tree-3.3.jar

commons-fileupload-1.2.2.jar

commons-io-2.0.1.jar

commons-lang3-3.1.jar

freemarker-2.3.19.jar   

javaassist-3.11.0.GA.jar    

ognl-3.0.6.jar                      

struts2-json-plugin-2.3.15.1.jar 替换

struts2-core-2.3.15.1.jar                替换

xwork-core-2.3.15.1.jar                  替换                                                        

注:在导入这些包后系统正常启动,测试代码后台会报 -

java.lang.NoClassDefFoundError: org/apache/commons/lang/xwork/StringUtils异常,这是因为原有的 struts2-json-pluginsjar包的某个类import的是org.apache.commons.lang.xwork这个包。将原有struts2-json-plugins删除

2、修改web.xml解决后台告警问题

  

需要修改web.xml文件。

去除对org.apache.struts2.dispatcher.FilterDispatcher的引用,改为下面的样子:

  <filter-name>struts2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

3、自己建立xwork-2.0.dtd文件,解决运行时错误。

如果运行时,还发生如下错误的话,

  就需要,建立自己的xwork-2.0.dtd文件。原因是 http://www.opensymphony.com/xwork 这个路径不存在了。

一个解决办法是,在服务器上配置一个HTTP服务器,例如IIS或者Apache,然后建立xwork目录和xwork-2.0.dtd文件,然后,修改本机的hosts文件,加入一条DNS记录,把www.opensymphony.com指向本机IP。

做完这几步,就OK了。可以试试服务是否能够正常运行了。

参考资料:

http://www.69dns.com/ViewNews.asp?file=10006024.html

http://www.2cto.com/Article/201307/231031.html

 

0 0
原创粉丝点击