Struts 2 曝高危漏洞(S2-052),黑客可远程执行任意代码
Posted 汇科智联family
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts 2 曝高危漏洞(S2-052),黑客可远程执行任意代码相关的知识,希望对你有一定的参考价值。
9月5日晚间,Apache 官方发布 Struts 2 紧急漏洞公告(S2-052),CVE 编号CVE-2017-9805。公告中披露,Struts2 REST插件的XStream组件存在反序列化漏洞,导致远程代码执行。Struts 2.5 - Struts 2.5.12 版本均受到该漏洞影响。这个漏洞危险级别被定义为严重。
漏洞影响
Struts2 是一个基于 MVC 设计模式的Web应用框架,它本质上相当于一个servlet,在 MVC 设计模式中,Struts2 作为控制器(Controller)来建立模型与视图的数据交互。Struts2 是世界上最流行的 Java Web 服务器框架之一。
Struts2 REST插件的XStream组件存在反序列化漏洞,使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,导致远程代码执行。攻击者利用此漏洞,可以在受影响系统中执行任意代码,例如添加/删除账号,修改系统文件,植入后门等。
此次S2-052漏洞影响的版本有:Struts 2.5 - Struts 2.5.12 。
漏洞利用
Struts2 REST插件的XStream组件存在反序列化漏洞,使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,导致远程代码执行。
截止发稿时间,公网已经暴露多个漏洞利用 PoC,随机选取PoC如下:
在本地搭建struts-2.5.12版本环境,在环境中访问http://x.x.x.x:8080/struts2-rest-showcase,并在请求数据中植入编辑好的PoC,可看到成功执行 “calc.exe” (计算器程序)命令,如下图所示
深信服检测方案
https://saas.sangfor.com.cn/src/html/login/login.html?type=eyeCloud。
解决方案
1、Apache官方最新版本已修复该漏洞,请受影响用户升级到Struts 2.5.13版本。
2、暂时无法升级的用户,请在非必要情况下删除Struts REST插件,或者在配置文件中加入如下代码,限制服务端文件的扩展名
<constant name="struts.action.extension" value="xhtml,,json" />
深信服下一代防火墙用户,请在今天内升级安全防护规则到 20170906 及其以后版本,可轻松防御针对此漏洞的攻击;深信服 “云盾” 用户,无需升级,可直接获得安全防护。
以上是关于Struts 2 曝高危漏洞(S2-052),黑客可远程执行任意代码的主要内容,如果未能解决你的问题,请参考以下文章
未然预警 | Apache Struts2再爆高危漏洞S2-052
Apache Struts2 再曝高危漏洞,建议立即进行检测与防护
9.12安全帮每日资讯:Struts2 新漏洞(S2-052)出现利用实例;黑白名单要你何用;黑客可以远程访问医用注射泵
漏洞预警 | 高危Struts REST插件远程代码执行漏洞(S2-052)