您所在的位置:首页 >>帮助中心 >>服务器常见问题

Struts2相关漏洞说明及处理办法


文章来源:星星 发布者:月牙发布时间:2014/11/22 2:33:15【打印此页】 【关闭

Struts2相关漏洞说明:

[+] S2-020  CVE-2014-0094   支持GetShell

[+] S2-019  CVE-2013-4316   支持GetShell/获取物理路径/执行CMD命令

[+] S2-016  CVE-2013-2251   支持GetShell/获取物理路径/执行CMD命令

[+] S2-013  CVE-2013-1966   支持GetShell/获取物理路径/执行CMD命令

[+] S2-009  CVE-2011-3923   支持GetShell/获取物理路径/执行CMD命令

[+] S2-005  CVE-2010-1870   支持GetShell/获取物理路径/执行CMD命令/列文件目录


CVE-2014-0094  影响版本:Struts 2.0.0 – Struts 2.3.16    官方公告:http://struts.apache.org/release/2.3.x/docs/s2-020.html

CVE-2013-4316  影响版本:Struts 2.0.0 – Struts 2.3.15.1  官方公告:http://struts.apache.org/release/2.3.x/docs/s2-019.html

CVE-2013-2251  影响版本:Struts 2.0.0 – Struts 2.3.15    官方公告:http://struts.apache.org/release/2.3.x/docs/s2-016.html

CVE-2013-1966  影响版本:Struts 2.0.0 – Struts 2.3.14    官方公告:http://struts.apache.org/release/2.3.x/docs/s2-013.html

CVE-2011-3923  影响版本:Struts 2.0.0 -  Struts 2.3.1.1   官方公告:http://struts.apache.org/release/2.3.x/docs/s2-009.html

CVE-2010-1870  影响版本:Struts 2.0.0 – Struts 2.1.8.1   官方公告:http://struts.apache.org/release/2.2.x/docs/s2-005.html


解决办法:

将struts2的jar包更新到最新版,目前最新版本2.3.16.3

http://mirrors.cnnic.cn/apache//struts/binaries/struts-2.3.16.3-all.zip


本文记录Struts2-2.3.4升级到2.3.16.3并且最少化改动已有工程代码的情况下的步骤,实际升级可能还有其他不可预知的问题,需要您根据实际情况处理

1.删除的jar包

jsonplugin-0.30.jar(此jar由struts2-json-plugin-2.3.16.3.jar代替,如果以前采用过其他jsonplugin插件的话)

2.添加的jar包

commons-lang3-3.1.jar

struts2-json-plugin-2.3.16.3.jar

3.替换的jar包

将原有低版本的ognl-x.x.x.jar替换为ognl-3.0.6.jar

将原有低版本的struts2-core-x.x.x.x.jar替换为struts2-core-2.3.16.3.jar

将原有低版本的xwork-core-x.x.x.x.jar替换为xwork-core-2.3.16.3.jar

将原有低版本的javassist-x.x.x.jar替换为javassist-3.11.0.GA.jar

4.xwork-conversion.properties

注释掉java.lang.Enum=com.opensymphony.xwork2.util.EnumTypeConverter

5.替换工程中所有*.xml Struts配置文件中type="redirect-action"为type="redirectAction",并将xml的头部信息修改为:

    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  

    "http://struts.apache.org/dtds/struts-2.3.dtd";>  

6.修改struts.xml中返回类型为json的处理类相关的配置。(如果你的工程原来采用的是其他的json类型处理插件的话)

将其中片段修改成如下状态:

 

             

             

             

 

7.所有涉及到jsonplugin-0.30.jar的类由struts2-json-plugin-2.3.16.3.jar中的对应类替换。(如果你的工程原来采用的是其他的json类型处理插件的话)

8.struts2标签库的升级

将原有的struts-tag.tld升级为最新。

另外最重要的一点,如果您是自主部署的java环境,请务必不要使用root或者管理员账号来运行java应用!!

值班QQ
域名、虚拟主机、云服务器产品售后
IDC托管、租用、机柜大带宽产品售后
值班电话
返回顶部