struts2升级2.3.32或2.5.10.1

漏洞年年有,最近特别多。2017年3月6日,Apache Struts2被曝存在远程命令执行漏洞,漏洞编号:S2-045,CVE编号:CVE-2017-5638,官方评级为高危,该漏洞是由于在使用基于Jakarta插件的文件上传功能条件下,恶意用户可以通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行任意系统命令,导致系统被黑客入侵。 
漏洞分析请移步:https://yq.aliyun.com/articles/72008 
 
建议 
 

如果这个版本在Struts2.3.5 到 Struts2.3.31 以及 Struts2.5 到 Struts2.5.10之间则存在漏洞,请升级到struts 2.3.32或2.5.10.1版本

升级struts2.3.32比较简单,更换对应jar即可

struts2升级2.3.32或2.5.10.1_第1张图片

升级struts2.5.10.1比较麻烦,需要注意:

(1)       strutsPrepareAndExecuteFilter路径变了:

struts2升级2.3.32或2.5.10.1_第2张图片

(2)      struts.xml文件中的版本得变成2.5

DOCTYPE strutsPUBLIC "-//ApacheSoftware Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">

(3)      使用通配符是找不到对应的action,需要设置:

regex:.*,最好是全局设置:

struts2升级2.3.32或2.5.10.1_第3张图片

注意:package中的设置排列是按一定顺序排列的,如何乱排启动会报错的,到时候可自行根据提示信息按要求排序。

(4)      struts的标签改变,目前发现的有:,escape换成了escapeHtml;,id换成var;

(5)      升级后使用的是log4j2,而不是log4j,需要log4j-api-2.7.jar和

log4j-core-2.7.jar,并且配置 log4j2.xml

(6)      升级后jdk需要1.7以上

更换对应jar包:

struts2升级2.3.32或2.5.10.1_第4张图片

 


你可能感兴趣的:(struts2升级2.3.32或2.5.10.1)