struts2由版本2.3.16升级至2.5.22

文章描述了一位技术负责人针对N年前老系统中发现的Struts2远程命令执行高危漏洞的处理过程。主要措施包括更新Struts.xml和web.xml配置文件,替换相关jar包至最新版本2.5.22,并创建log4j2.xml以改进日志管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:公司安全部门,扫描到N年前的老系统有高危漏洞,我作为技术负责人,需要处理。

过程:详细看了高危漏洞文档说明,是struts2的远程命令执行漏洞,升级版本可完成修复,通过网上各类帖子的说明,结合自身项目。把升级需要改动的内容罗列如下。

  1. 修改struts.xml文件

序号

行数

原内容

修改后内容

1

第3行

<!DOCTYPE struts PUBLIC

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

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

<!DOCTYPE struts PUBLIC

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

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

2

第22行

<package name="imageupload" extends="json-default">

<package name="imageupload" extends="json-default" strict-method-invocation="false">

  1. 修改web.xml文件

序号

行数

原内容

修改后内容

1

第92-95行

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

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

</filter>

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

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

</filter>

  1. 替换jar

序号

需要替换的jar

说明

下载地址

1

struts2-config-browser-plugin-2.5.22.jar

struts2-2.5.22版本包

https://archive.apache.org/dist/struts/2.5.22/

2

struts2-convention-plugin-2.5.22.jar

3

struts2-core-2.5.22.jar

4

struts2-json-plugin-2.5.22.jar

5

struts2-spring-plugin-2.5.22.jar

6

commons-lang3-3.8.1.jar

依赖包

7

freemarker-2.3.28.jar

8

log4j-api-2.6.2.jar

http://archive.apache.org/dist/logging/log4j/2.6.2

9

log4j-core-2.6.2.jar

10

ognl-3.1.26.jar

  1. 创建log4j2.xml

位置:/project/WEB-INF/classes/log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>

<configuration status="debug">

<appenders></appenders>

<loggers>

<root level="info">

<appender-ref ref="Console"/>

<appender-ref ref="log"/>

</root>

</loggers>

</configuration>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥则子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值