频爆漏洞的Struts2,还要怎么走下去?

频爆漏洞的Struts2,还要怎么走下去?_第1张图片

昨天的信息安全和互联网界,再一次被Struts2刷了一次屏:Struts2存在远程代码执行的严重漏洞(漏洞编号S2-045,CVE编号:cve-2017-5638),并被官方定级为高危风险。黑客可以利用该漏洞通过浏览器在远程服务器上执行任意系统命令,将会对受影响站点造成严重影响,引发数据泄露、网页篡改、植入后门、成为肉鸡等安全事件。

那么,问题来了,Struts2到底是什么玩意?

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互,它在国内使用非常广泛,被大量的政府、金融以及大中型互联网公司所使用。所以,每一次爆出Struts2的漏洞,相关单位和各大互联网公司都非常敏感。日前盛传的“京东12G用户数据泄露事件”的罪魁祸首就是Struts漏洞。

近年来,Struts漏洞频发,影响比较大的有如下这些:

2010年 S2-005

CVE-2010-1870 XWork ParameterInterceptors bypass allows OGNLstatement execution

2012年1月 S2-008

CVE-2012-0392 struts2 DevMod Remote Command Execution Vulnerability

2012年1月 S2-009

CVE-2011-3923 Struts<=2.3.1参数拦截器代码执行

2013年 5月 S2-013

CVE-2013-1966 Struts2 <= 2.3.14 includeParams属性远程命令执行漏洞

2013年7月 S2-016

CVE-2013-2251 Struts2 <= 2.3.15.1 action、redirect、redirectAction前缀远程命令执行漏洞

2014年3月 S2-020

Struts2 <= 2.3.16 DoS attacks and ClassLoader manipulation

2014年4月 S2-021

Struts2 <= 2.3.16.1 bypass patch(ClassLoader manipulation)

回顾struts2的漏洞历史,Apache官方难辞其咎,首先,开发人员安全意识不强,虽然采取了基本的安全措施,但是形同虚设。其次,官方修复力度不够,给我的感觉总像是在敷衍了事,未能从根本上解决问题。再就是,官方的开放精神确实很震撼,竟然直接将漏洞的PoC挂在官网,这样给了很多人进一步研究漏洞利用的机会,这个也是导致问题更加严重的一个原因。

近两年关于struts2的攻击事件频发,攻击面覆盖各大门户网站,包括向移动、电信、联通、各大网银、证券等等,因为struts2是一款功能非常强大的j2ee框架,特别是对于广大开发人员,应用非常广泛。所以一旦struts2出现0day,导致互联网上出现大面积被入侵、被拖库,信息泄露等事件。

在这里,笔者提醒广大java开发人员以及系统运维人员,面对这么一个漏洞百出的框架,你还敢用吗,还是早日换掉这个危险的struts2吧!实在必须要用,也请及时更新struts2框架版本。如果有能力,最好自己去开发应用框架,避免使用开源框架。

参考:

1.http://www.freebuf.com/articles/web/33301.html

2.https://cwiki.apache.org/confluence/display/WW/Security+Bulletins

3.http://www.leiphone.com/news/201703/GGlXuODrwTovCx0u.html

4.百度百科

你可能感兴趣的:(频爆漏洞的Struts2,还要怎么走下去?)