开发者社区> 晚来风急> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Struts2漏洞的前因后果

简介: 本文讲的是Struts2漏洞的前因后果,Apache Struts2 作为世界上最流行的 Java Web 服务器框架之一,近期被爆出两大高危漏洞:S2-045(CVE-2017-5638)和S2-046(CVE-2017-5638)。消息公布后,在互联网界引起了轩然大波。
+关注继续查看

本文讲的是Struts2漏洞的前因后果,Apache Struts2 作为世界上最流行的 Java Web 服务器框架之一,近期被爆出两大高危漏洞:S2-045(CVE-2017-5638)和S2-046(CVE-2017-5638)。消息公布后,在互联网界引起了轩然大波。

黑客可通过漏洞远程代码执行

其中编号为CVE-2017-5638的漏洞(S2-045),是基于Jakarta plugin插件的Struts远程代码执行漏洞。该漏洞会造成RCE远程代码执行,恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令,可直接造成系统被控制。黑客通过Jakarta文件上传插件实现远程利用该漏洞执行代码。编号为S2-046的漏洞则是攻击者可通过Content-Length或者Content-Disposition构造恶意的OGNL内容,同样会造成远程代码执行。

image

image

此前某东的12GB用户信息数据包在网络上外泄的事件就是源自2013年 Struts 2的安全漏洞造成。泄露的数据包中包括了某东的用户名、密码、邮箱、QQ号、电话号、身份证信息等,其内部数据多达数千万条。某东在2016年12月10日也通过官方微信公众号针对此事件进行了证实与回应。

Struts 作为一个“世界级”开源架构,在我国广泛应用于教育、金融、互联网、通信等重要行业,它的一个高危漏洞危害都有可能造成重大的互联网安全风险和巨大的经济损失。纵观Struts安全问题列表(下图),可以远程代码执行的漏洞竟多达13个(黄色高亮标注)。

image

以往Struts高危漏洞事件回顾

回顾一下以往Struts的几次重点安全事件,梳理一下Struts危机的来龙去脉,不难发现每一个安全漏洞都可能造成巨大的风险。

2012年,S2-007(S2-XXX是Struts官方自己的漏洞编号,对应的是 CVE-2012-0838)爆发,和S2-003、S2-005的漏洞源头都是一样的,都是struts2对OGNL的解析过程中存在漏洞,导致黑客可以通过OGNL表达式实现代码注入和执行。

受影响版本:Struts 2.0.0 – Struts 2.2.3,需要更新到2.2.3.1。

2013年,S2-016(CVE-2013-2251)和S2-017(CVE-2013-2248)爆发,也是远程代码执行高危漏洞,新闻报道这是黑客的疯狂盛宴。

受影响版本:Struts 2.0.0 – Struts 2.3.15,需要更新到2.3.15.1

2016年,Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,官方编号 S2-032(CVE-2016-3081)。黑客利用该漏洞,可对企业服务器实施远程操作,从而导致数据泄露、远程主机被控、内网渗透等重大安全威胁。

受影响版本:Struts 2.3.20 – Struts Struts 2.3.28 (except 2.3.20.3 and 2.3.24.3),需要更新到Struts versions 2.3.20.3, 2.3.24.3 or 2.3.28.1。

前文介绍的2017年的两个远程代码执行的高危漏洞S2-045(CVE-2017-5638)和S2-046(CVE-2017-5638)

受影响版本:Struts 2.3.5 – Struts 2.3.31, Struts 2.5 – Struts 2.5.10,需要更新到Struts versions Struts 2.3.32 or Struts 2.5.10.1。

根据Macfee对漏洞传播的研究,黑客对漏洞的利用速度往往高于安全管理人员的防护速度。

image

因此,怎样在0DAY漏洞爆发后,赶在黑客的狂欢和肆虐前快速“堵住”高危漏洞以完善网络安全对于各行业用户来说至关重要。但是实际情况却让人堪忧。联软近期进行的网络调研结果显示,有相当多企业的安全运维人员不知道自己是否用到了Struts,不知道在自家的网络中哪些设备或服务可能受到攻击,因此在此类漏洞爆发后不仅会面对巨大的压力,同时也不能快速进行针对性的安全加固和危机补救。

面对如Struts漏洞此类安全危机,联软推出基于SCAP(Security Content Automation Protocol)协议和标准开发的UniSIMS服务器安全运维技术解决方案。其提供了智能资产识别和管理能力,以及可以无限扩展的安全检查能力。为此,UniSIMS的解决方案在金融,通信运营商等领域受到客户的一致好评。

快速检查受影响的设备

首先是帮助管理员快速了解网络安全状况,利用UniSIMS的快速安全检查能力,安全管理员可以把Struts漏洞检查规则迅速推向所有的服务器设备,在几分钟之内得到结果,清楚的知晓哪些服务器设备上存在风险。

精准查找风险组件网络位置

UniSIMS可以针对所有服务器进行精细的资产管理,能有效收集和管理服务器上详细的资产信息,细致到WEB中间件使用的架构(例如Struts),以及在中间件上部署哪些应用等。因此,安全管理员可以在管理后台快速的查找出受Struts影响的应用和其版本,了解其部署在哪些中间件上(例如Tomcat或JBOSS)、其运行在那些设备上,以及这些设备的运维负责人。以此来快速的安排漏洞修补和网络加固工作。

在开源组件极其广泛使用的今天,资产深度管理解决方案尤为重要。如曾经带来震撼的OPENSSL漏洞、前段时间的淘宝的FASTJSON组件漏洞等也可以用联软UniSIMS来进行快速定位和防范。与此同时,随着IT架构日益复杂以及业务应用和网络设备的不断增加,管理员需要面对越来越繁杂的运维管理工作,因此需要一个有效的资产管理解决方案来进行管理,让业务安全可控。

原文发布时间为:三月 31, 2017
本文作者:aqniu
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛
原文链接:http://www.aqniu.com/threat-alert/23938.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
js中"",0,''比较的值是true
js中"",0,''比较的值是true
29 0
Struts2升级版本至2.5.10,高危漏洞又来了
前情概要 漏洞年年有,最近特别多。2017年3月6日,Apache Struts2被曝存在远程命令执行漏洞,漏洞编号:S2-045,CVE编号:CVE-2017-5638,官方评级为高危,该漏洞是由于在使用基于Jakarta插件的文件上传功能条件下,恶意用户可以通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行任意系统命令,导致系统被黑客入侵。
6993 0
Zabbix 再次被爆出存在 SQL 注入漏洞,影响云上数百网站
昨晚,Zabbix 被爆出一个高危的 SQL 注入漏洞。这个漏洞本身需要登录触发,但因为大部分 Zabbix 都启用了 guest 账号,所以此漏洞相当于一个无限制的 SQL 注入漏洞,并不是外界所说的“无需登录”。
2587 0
Struts2 Xss 攻击预防的处理
关于XSS问题的处理,此前在博客 http://blog.csdn.net/catoop/article/details/50338259 中写过处理方法。刚好最近朋友有问到“在Struts2中按文章中那样处理无效”,后来验证了下发现,Struts2 对请求的二次封装有所不同,于是针对Struts.
18115 0
SQL注入漏洞全接触--入门篇
      随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。
1164 0
+关注
9363
文章
243
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载