2017年3月初,apache曝出Struts2新的漏洞,利用该漏洞可直接获取应用系统所在服务器的控制权限。
修复该漏洞需要将Struts版本升级到2.3.32. 具体需要替换的jar包如下:
struts2-core-2.3.32.jar;
xwork-core-2.3.32.jar;
struts2-spring-plugin-2.3.32.jar;
struts2-json-plugin-2.3.32.jar;
ognl-3.0.19.jar;
javassist-3.11.0.GA.jar;
freemarker-2.3.22.jar;
commons-fileupload-1.3.2.jar;
commons-lang3-3.2.jar;
以上是网络上不少方案中涉及的jar包,经过测试后,启动项目时报错,报错信息:
严重: Exception starting filter struts2
java.lang.NoSuchMethodError: com.opensymphony.xwork2.util.finder.ClassFinder
报错信息提示的对应的类所在jar包,可能有jar包兼容问题,于是更新以下jar包:
struts2-convention-plugin-2.3.32.jar
更新后,重新编译,可正常启动。