互盟云> 业界新闻> Struts2高危级别漏洞曝光

Struts2高危级别漏洞曝光

2017-03-22 浏览量:2017

一、 漏洞解析

Struts2是第二代基于Model-View-Controller (MVC)模型的java企业级web应用框架。

近日,Struts 2再次曝光高危漏洞,Apache Struts2存在S2-045远程代码执行漏洞。远程攻击者利用该漏洞可直接取得网站服务器控制权。

漏洞影响版本:Struts2.3.5-Struts2.3.31, Struts2.5-Struts2.5.10


2016年出现高危漏洞:

l  互联网上披露了Apache Struts 2 S2-032远程代码执行漏洞(CNVD-2016-02506CVE-2016-3081 )的利用代码,CNVD初步测试,远程攻击者利用漏洞可在开启动态方法调用功能的Apache Struts 2服务器上执行任意代码,取得网站服务器控制权。

(漏洞影响版本:Struts 2.3.20 - 2.3.28 (2.3.20.32.3.24.3以外)版本)。

l  2.3.28及之前版本中,devMode开启时,DebuggingInterceptor类会检测提交的debug参数是否包consolecommandbrowser这三个MODE。通过分析代码发现,commandbrowser这两个MODE调用了stack.findValue方法,可构造特定数据作为ognl表达式执行,使得Apache Struts S2-008漏洞一直延续到2.3.28版本。

(漏洞影响版本:Struts 2.1.0--2.5.1且开启devMode模式的用户)。


二、漏洞危害

A.  恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令;

B.  恶意攻击者可利用漏洞直接获取应用系统的Webshell,甚至获取操作系统以及数据库的权限;

C.  由于Struts2应用较为广泛,且攻击利用代码已经公开,已导致互联网上大规模攻击的出现。

根据CNVD秘书处抽样测试结果,互联网上采用Apache Struts 2框架的网站(不区分Struts版本,样本集>500,覆盖政府、高校、企业)受影响比例为60.1%


三、修复措施

A.  安全检测

查看web目录下/WEB-INF/lib/目录下的struts-core.x.x.jar ,如果这个版本在Struts2.3.5 Struts2.3.31 以及 Struts2.5 Struts2.5.10之间则存在漏洞,

更新至Strusts2.3.32或者Strusts2.5.10.1,或使用第三方的防护设备进行防护。

临时解决方案:删除commons-fileupload-x.x.x.jar文件(会造成上传功能不可用)。


B.  升级版本

可升级版本至Apache Struts 2.3.32 Apache Struts 2.5.10.1以消除漏洞影响。

(官网链接:S2-045 - Apache Struts 2 Documentation - Apache Software Foundation  https://cwiki.apache.org/confluence/display/WW/S2-045


C.  主动检测

除了升级struts版本外,为有效防护漏洞攻击,建议用户采取主动检测、网络侧防护的方法防范黑客攻击。

使用互盟漏洞扫描,加强信息安全保障,以安全保发展,以发展促安全。


【参考链接:国家信息安全漏洞共享平台  http://www.cnvd.org.cn/flaw/show/CNVD-2017-02474

现在注册,即可享受多款产品免费体验
立即体验
100故障赔偿 备案 11专业服务 7×24小时服务支持