快速搜索

最近发布

芜湖市委常委、常务副市长张东一行来所调研

我所荣获长安汽车“创新支持奖”

广汽集团、广州开发区、工信部电子五所签订三方战略合作框架协议

武汉市制造业可靠性提升与企业卓越质量管理活动成功举办

中国电子科技委副主任朱立锋一行来所调研交流

Apache曝出高危漏洞,中国互联网被血洗

  • 2016-04-28
  • 来源:信息安全研究中心
  • 供稿人:赵弘洋
  • 字体:

4月26日,互联网上披露了安全威胁程度为高的Apache Struts2 S2-032远程代码执行漏洞。各大漏洞报告平台短时间内收到大量关于此漏洞的报告,其中银行占很大比例。预计接下来几天会迎来该漏洞利用的爆发峰,由此造成的潜在数据泄漏量难以估计。该漏洞除了会影响银行与互联网企业以外,还可能影响政府、证券、保险等行业,相关网站须提前做好安全应急与防范措施。

图1 某漏洞报告平台上部分存在该漏洞的网站

该漏洞官方编号S2-032,CVE编号CVE-2016-3081,CNVD编号CNVD-2016-02506。特定版本的Apache Struts2服务在开启动态方法调用(DMI)的情况下,可以被远程执行任意命令,即存在该漏洞。利用该漏洞,黑客可以在存在该漏洞的网站服务器上执行任意命令,部署木马,窃取网站数据,甚至以受害网站服务器为跳板,对企业内网进行渗透和破坏。

Apache Struts2是第二代基于Model-View-Controller (MVC)模型的java企业级web应用框架,是目前国内外较为流行的容器软件中间件之一。Struts2的核心jar包“struts2-core”中,存在一个名为“default.properties”的默认配置文件用于配置全局信息,当配置信息为“struts.enable.DynamicMethodInvocation = true”时,即开启动态方法调用。在目前的安全策略中,尽管Struts2框架本身对部分动态调用方法进行了特殊字符传递的限制,但攻击者仍能通过OGNL表达式静态调用获取ognl.OgnlContext的DEFAULT_MEMBER_ACCESS属性,进而覆盖_memberAccess参数绕过访问控制,最终在受控服务器端执行任意代码。

针对S2-032漏洞,我所信息安全中心给出如下两种解决方法:

1、禁用动态方法调用

修改Struts2的配置文件“default.properties”,将“struts.enable.DynamicMethodInvocation”的值设置为false,例如:

< constant name="struts.enable.DynamicMethodInvocation" value="false" / >;

2、升级软件版本

该漏洞影响的软件版本为2.3.20-2.3.28(2.3.20.2、2.3.24.2两个版本除外),若条件允许,可升级Struts版本至2.3.20.2、2.3.24.2或者2.3.28.1,上述三个版本均不存在该漏洞。

升级地址:https://struts.apache.org/download.cgi#struts23281

相关链接:http://www.cnvd.org.cn/flaw/show/CNVD-2016-02506

                https://cwiki.apache.org/confluence/display/WW/S2-032

                http://struts.apache.org/docs/s2-032.html

Baidu
map