目前主流应用开发平台J2EE的Apache Struts2框架存在可执行远程代码的严重漏洞,Struts2官方已经确认该漏洞(漏洞编号S2-045),并定级为高危漏洞。
一、Struts2漏洞描述
(一)漏洞信息。此次Struts2漏洞是基于Jakarta plugin插件的Struts远程代码执行漏洞,该漏洞可造成RCE远程代码执行,漏洞利用无任何限制条件,且可绕过绝大多数的防护设备的通用防护策略,恶意用户可在上传文件时通过修改HTTP请求中的Content-Type值来触发该漏洞,从而执行系统命令,造成系统被远程控制,导致数据泄露、网页篡改、后门植入、成为肉鸡等后果。
(二)影响范围。由于此前Struts2曾发现编号为S2-016的安全漏洞,国内外绝大多数网站现已更新S2-016漏洞补丁,而本次漏洞在S2-016补丁后的版本均会受到影响,具体受影响的软件版本为Struts 2.3.5 - Struts2.3.31以及Struts 2.5 - Struts 2.5.10。
(三)检测方法。一是查看web目录/WEB-INF/lib/下的struts-core.x.x.jar版本信息,如果版本在Struts2.3.5 到 Struts2.3.31 以及 Struts2.5 到 Struts2.5.10之间则存在漏洞隐患;二是第三方扫描检测方式,使用webscan等具有网站深度爬行功能的检测软件,进行专项深度漏洞扫描。(不可使用在线一键式检查小工具)
(四)修复方法。一是删除commons-fileupload-x.x.x.jar文件(可能导致网站的上传功能或其他应用无法正常使用)或更新Struts2版本至Struts 2.3.32、Struts 2.5.10.1;二是部署专业的WAF、APT等安全产品并确保规则库已经升级到最新版本。
新闻热点
疑难解答