科技网

当前位置: 首页 >通讯

Struts2漏洞频出祸根是Apache

通讯
来源: 作者: 2018-10-12 10:24:47

Struts2漏洞频出 海航男爵公馆
祸根是Apache底层代码不严谨

日前,Struts2再次爆出安全漏洞,主要影响国内电商、银行、运营商等诸多大型站和为数众多的政府站。

国外安全研究人员日前发现,Apache Struts2在处理CVE-的漏洞补丁中存在缺陷,会被轻易绕过,可导致任意命令执行。

黑客进而能够窃取到站数据,或者对站进行DDoS攻击。

4月24日,360站卫士第一时间添加防御规则,并率先发布临时解决方案;4月25日下午,Apache官方才发布Struts2漏洞的临时修复方案;4月25日晚上,360站安全检测率先发布 Struts2漏洞检测 工具(。

360站卫士盘点了近年来曝出的高危Struts2漏洞,并分析了Struts2为什么屡屡出现重大安全云树公馆
漏洞。

4年前就存在Struts2代码执行问题Struts2漏洞,这里主要指的是J2EE开源框架struts2出现的命令执行漏洞,危害巨大,可导致远程执行任意系统命令,进而获取系统控制权,数据库控制权,导致信息泄露。

所有使用struts2框架开发的系统都受影响。

Struts2的代码执行问题最早要追溯到2010年,当时来自Google安全Team的Meder Kydyraliev发现可以通过用unicde编码的形式绕过参数拦截器对特殊字符 # 的过滤,造成代码执行问题,官方漏洞编号S,我们可以在struts2官贵安新天地
方的漏洞公告中看到如下文字,如下图:虽然Apache官方给出了利用代码,但是对却忽视了这个漏洞的威力,因为官方看到Meder Kydyraliev给出的代码以为就是一个简单的bypass,没有意识到利用此漏洞可以远程执行任意命令,于是随意修改了一下过滤规则便草草了之了。

当时Apache官方是这样修补的,他们用正则将含有 \u0023 的请求全部过滤掉。

这样的修复根本没有起到作用,因为 \u0023 在传递过程中被转义为 \\u0023 所以正则根本没匹配上,悲剧的是他们没有意识到这个问题。

好在官方终于发现了ognl表达式的威力,ognl可以调用java静态方法,struts2本身就是一个命令执行漏洞,于是他们修改了一些参数进而限制执行java静态方法。

经过研究发现,他们修改了OGNL上下文中一些命名空间中的属性,比如将#_lowStaticMet

相关推荐