【IT168 方案】Apache官方近日公布了struts2产品的一个远程代码执行漏洞,编号“S2-016”,远程攻击者可利用此漏洞执行任意命令,轻则窃取网站数据信息,严重的可取得网站服务器控制权,构成信息泄露和运行安全威胁。目前互联网上已经有利用代码在流传,同时已经发现几十个国内大型门户网站受此漏洞影响,网御星云攻防实验室立即成立了快速响应小组,并对此事件进行了整体分析,第一时间完成了安全产品的特征库升级工作。
一、事件回顾
Struts框架是Apache基金会Jakarta项目组的一个Open Source项目,它采用MVC模式,帮助java开发者利用J2EE开发Web应用。Struts框架广泛应用于运营商、政府、金融行业的门户网站建设,作为网站开发的底层模版使用,目前大量开发者利用j2ee开发web应用的时候都会利用这个框架。Apache Struts2 是第二代基于Model-View-Controller (MVC)模型的JAVA企业级WEB应用框架。
根据分析结果,此问题源于Apache Struts2对参数action的值redirect以及redirectAction没有正确过滤,导致ognl代码执行。Apache Struts2的action:、redirect:和redirectAction:前缀参数在实现其功能的过程中使用了Ognl表达式,并将用户通过URL提交的内容拼接入Ognl表达式中,远程攻击者可以通过构造恶意URL来执行任意Java代码,进而可执行任意命令。redirect:和redirectAction:此两项前缀为Struts默认开启功能。
此次爆出的高危漏洞,受影响Apache Struts2版本: Struts 2.0.0 - Struts 2.3.15。
二、网御星云专家建议
1.建议Struts用户及时升级到最新版本Apache Struts 2.3.15.1。相关链接:http://struts.apache.org/download.cgi#struts23151
2.网御星云攻防实验室建议广大网御星云IPS、UTM、WAF产品的用户,及时完成特征库的更新工作。