升级Maven工程的Struts依赖

前段时间,公司的多台主要的生产环境服务器发生了cpu频繁占满,然后tomcat歇菜的情况。查看资源占用情况,发现是一个以root起的httpd.conf的进程在占用,尝试kill,但愈演愈烈。百度后觉得可能是当初装的nagios的漏洞导致。不久,报出了Struts2的(S2-046)漏洞。再次查看服务器日志,发现也确有出现利用此漏洞的攻击。遂决定重装了服务器。并对jar包升级。

更多消息 - 传送门

  • 项目原struts包版本2.3.15.1
  • 根据官方解决方案,目标版本 2.3.32

附 本次更换的jar包版本:

  • freemarker-2.3.22.jar
  • commons-lang3-3.2.jar
  • commons-io-2.2.jar
  • commons-lang-2.4.jar
  • commons-fileupload-1.3.2.jar
  • struts2-convention-plugin-2.3.32.jar
  • struts2-core-plugin-2.3.32.jar
  • struts2-spring-plugin-2.3.32.jar
  • xwork-core-2.3.32.jar
  • struts2-json-plugin-2.3.32.jar(我没有换因为用的fastjson,如果之前有依赖应该也要换)

然儿,替换完后工程正常启动(至少看起来如此),但是访问返回的都是404。忽略的是升级struts2版本基本就会更改它的配置文件。

<constant name="struts.enable.DynamicMethodInvocation" value="true" />

如果没有配置这个你会发现。你原来的项目报404错误,这个是开启或禁止调用动态方法,如果是false,则不会有动态调用产生的404错误。

在struts.xml添加这条配置信息,ok,服务器访问正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值