Struts2再爆严重漏洞!且看绿盟君怎么解 [绿盟科技]

技术 作者:有料 2017-03-07 07:45:52
综述 Apache Struts2在开启动态方法调用(Dynamic Method Invocation)的情况下,攻击者使用REST插件调用恶意表达式可以远程执行代码。 此漏洞编号为CVE-2016-3087,定名为S2-033。 影响范围 影响的版本 Struts 2.3.20 - Struts 2.3.28 (不包括 2.3.20.3和 2.3.24.3)。 不受影响的版本 Struts 2.3.20.3、2.3.24.3 或者 2.3.28.1。 漏洞分析 经过对Apache Struts2版本进行回溯,发现修复S2-033的代码和S2-032的代码基本相同。 根据官方描述修复S2-032漏洞是在Struts 2.3.20.2和2.3.24.2版本中修复,而官方的版本库中却少了这个版本,直接出现了可以修复S2-033漏洞的Struts 2.3.20.3、 2.3.24.3和2.3.28.1等版本,通过代码直接对比,只是在DefaultActionMapper.java文件中加入了对method成员变量的值的一次过滤,cleanupActionName这个方法是在对“action:”滥用的问题进行添加的,禁止了绝大多数的特殊字符。但是在后来的版本变更中忽略了之前的问题,将method也引入了OGNL表达式(ObjectGraph Navigation Library)。 通过对OGNL表达式的过滤来进行漏洞的修补。 漏洞验证 检查Struts2的配置文件struts.xml,确认“struts.enable.DynamicMethodInvocation”是否为“true”,如为“true”,且版本在受影响版本范围内,则说明受影响,否则不受影响。 防护方案 如果使用受影响的版本,在允许的情况下禁用动态方法调用(DynamicMethod Invocation),修改Struts2的配置文件struts.xml,将struts.enable.DynamicMethodInvocation设置为“false”。 升级到Struts 2.3.20.3、 2.3.24.3 或者 2.3.28.1。 使用绿盟科技防护类产品(WAF/IPS/NF/SG)进行防护。 已经购买了绿盟科技防护类产品服务的客户可以通过产品升级进行防护。 短期服务:绿盟科技工程师现场处理。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。 中期服务:提供 3-6个月的风险监控与巡检服务。根除风险,确保事件不复发。 长期服务:基金行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务) 声明 本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。 由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。 绿盟科技拥有对此安全公告的修改和解释权。 如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接