鉴于struts2高危漏洞,恶意用户可在上传文件时通过修改 HTTP 请求头中的 Content-Type 值来触发该漏洞,进而执行系统命令。影响范围:Struts 2.3.5 – Struts 2.3.31、Struts 2.5 – Struts 2.5.10 。升级方案:Struts 2.3.32:https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.32
升级一个无代码源系统,此系统由其技术支持进行安装,经咨询无代码可维护,无法基于maven重新构建打包升级,目前需要升级struts2.3.16至Struts2.3.32,所以进行升级流程可以参考如下:
- 可供下载地址,Apache官网可以下载struts2.3.32相应的包及示例项目可参考blank项目:http://struts.apache.org/download.cgi
或者直接进入apache的中央仓库进行下载:https://repository.apache.org/content/groups/staging/ -
遇到问题:打开项目访问路径报404
排查1:观察catalina.out中日志输出找到项目为何无法启动
org.apache.catalina.core.StandardContext start 严重: Error filterStart
排查2:进入tomcat的logs路径下,观察文件localhost.2017-03-09.log:
严重: Exception starting filter struts2 java.lang.NoSuchFieldError: VERSION_2_3_0
排查3:最终确认是freemarker版本升级至blank项目包中一致即可
-
目前进行WEB-INF/lib目录进行替换如下内容:
-
漏洞描述及利用可参考:
https://www.secpulse.com/archives/56570.html
nice!!!