2017年3月Apache Struts2报高危漏洞一枚附漏洞解决方案
Struts2是当今最出色的J2EE框架之一,目前多数公司企业依然大面积使用其作为电商,金融等项目的底层框架。
近期,安恒信息安全研究院WEBIN实验室高级安全研究员nike.zheng发现 Struts2存在远程代码执行的严重漏洞。目前Struts2官方已经确认漏洞(漏洞编号S2-045,CVE编号:cve-2017-5638),并定级为高危风险。
该漏洞是基于Jakarta plugin插件的Struts远程代码执行漏洞。据悉,该漏洞会造成RCE远程代码执行,恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令,可直接造成系统被控制。
此前所爆出的s2-016漏洞,多数站点已经打补丁,而本次漏洞在s2-016补丁后的版本均受影响;漏洞利用无任何条件限制,可绕过绝大多数的防护设备的通用防护策略。
该漏洞的影响范围:
Struts 2.3.5 - Struts 2.3.31
Struts 2.5 -Struts 2.5.10
解决方案:
如果使用的是基于Jakarta文件上传插件可以更新升级至Struts 2.3.32或者Struts 2.5.10.1
解决方法:
使用一个过滤器Filter来过滤掉Content-type值不是multipart/form-data的请求