【Struts2漏洞修复】struts2 升级 struts-2.5.17

2020-04-17 18:00:52 浏览数 (1)

以下记录一下升级Struts2 2.5.17版本:

1、建议先下载核心包,替换先核心包看是否可以正常运行,如果不行再查看缺失哪些包及配置

https://struts.apache.org/download.cgi

官方下载页面官方下载页面
漏洞库漏洞库

2、替换项目中所有struts开头的jar包(一般替换所有版本较低的包,高版本一般不替换),

删除xwork-core-2.3.15.1.jar(在struts2.5.13版本中,这个包已经被整合,避免冲突删除旧包)

3、修改web.xml

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

修改成

代码语言:javascript复制
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilte

4、如果存在jsp-jsonString保存需要修改文件jsonString.jsp相关文件

5、修改strut.xml文件

代码语言:javascript复制
“-//Apache Software Foundation//DTD Struts Configuration 2.5//EN” 
“http://struts.apache.org/dtds/struts-2.5.dtd”>

6、2.5版本的404报错问题,需要在struts.xml配置

代码语言:javascript复制
<!--   配置2.5版本,struts.xml需要配置,需要放在package里面并且在第一个action配置的前面 -->
     <global-allowed-methods>regex:.*</global-allowed-methods>

7、其他异常: ERROR ParametersInterceptor Unexpected Exception caught setting ‘order’ on ‘class XXXX : Error setting expression ‘order’ with value [‘desc’, ]

当struts.devMode设置为true时,html表单数据中有和action属性匹配不上的参数名时就会被这样显示出来,没什么大碍,就是为了便于使用者调试。struts.devMode设置为false就没有了。

处理方法:参考https://blog.csdn.net/moonpure/article/details/51034656

以上完成升级,祝你成功!

————————————————

本文为CSDN博主「刀客行」的原创文章,转载于:https://blog.csdn.net/CZT56CSDN/article/details/82186696

0 人点赞