struts2 2.3.32 升级至2.5.10.1

最近struts2频繁发布高危漏洞,升级工作必不可少,以下是我升级的过程,供大家参考,希望能帮到大家。

因为S2-048漏洞问题,需要对struts2的版本进行升级。

1、 首先进行jar包替换,将低版本的包替换成高版本。(左边为替换前,右边是替换后,中途删除了一些不必要的包)

struts2 2.3.32 升级至2.5.10.1_第1张图片
struts2 2.3.32 升级至2.5.10.1_第2张图片
struts2 2.3.32 升级至2.5.10.1_第3张图片
struts2 2.3.32 升级至2.5.10.1_第4张图片

2、 替换了jar包后,可能会文件处理的方法报错,如下

这里写图片描述

改成以下就可以了:

这里写图片描述

3、 修改web.xml配置

struts2 2.3.32 升级至2.5.10.1_第5张图片

上面这个配置可加可不加,但路径一定要对哦。

这里写图片描述

包的路径改变了。

4、 这下项目可以正常启动。下面访问页面又出问题了,action找不到?要修改struts.xml中的代码。
Xml头部修改代码为:


这里写图片描述

添加以下红框中的代码:

<global-allowed-methods>regex:.*</global-allowed-methods>

struts2 2.3.32 升级至2.5.10.1_第6张图片

5、 修改的差不多,可是,可是,有的页面居然还是访问不了。原来是有的标签不适用了。如下:
1) escape=”false”要替换成escapeHtml=”false”
2) 所有的标签中均需要按照规范,不得添加多余的属性。如下添加了多余的id,这样就会导致报错,页面无法访问。直接将id删掉。

<s:iterator id=”its”  value="picNewsList" status="it">
    <li><s:property value="#it.index+1"/>li>
s:iterator>

我是直接去掉id,有人说也可以直接将id必成var。

6、完成升级。

你可能感兴趣的:(web,struts,漏洞)