技术分析 | Struts2 S2-048漏洞:跟踪攻击趋势,成功检测防御

本文涉及的产品
云安全中心 免费版,不限时长
简介: 7月7日,Apache Struts官方发布了漏洞编号为:S2-048的高危漏洞公告。 阿里云安全团队2小时内发布官方安全建议,跟踪S2-048的全球攻击趋势,并对不同漏洞版本进行了对比分析。 目前,阿里云云盾态势感知已支持检测,WAF默认支持防御。

7月7日,Apache Struts官方发布了漏洞编号为:S2-048的高危漏洞公告。

阿里云安全团队2小时内发布官方安全建议,跟踪S2-048的全球攻击趋势,并对不同漏洞版本进行了对比分析。


image

目前,阿里云云盾态势感知已支持检测,WAF默认支持防御。

一、影响范围

如果在ApacheStruts 2.3.x系列中启用了struts2-struts1-plugin插件,会受到该漏洞的影响。

二、攻击源分析

阿里云安全团队对S2-048在全球范围内的攻击源进行分析。

image


其中,有3/4的攻击源来自国内的北京、上海地区,1/4来自海外(美国、韩国)和香港地区。

三、原理及利用方法分析

在SaveGangsterAction.java的文件里看的有execute方法的实现,其中gforn.getName()是攻击者可控的,gforn.getName()的值可以带入messages结构中;


image


在Struts1Action.java里可以看到,其实是调用SaveGangsterAction.execute方法,然后再调用getText(msg.getKey())

getText方法会把actionmessages传递给com.opensymphony.xwork2.util.LocalizedTextUtil.getDefaultMessage ,

其中又调用了com.opensymphony.xwork2.util.TextParseUtil.translateVariables,它用来调用OGNL 表达式用处理字符串表达式;

image

使用EL表达式简单测试$(1>2);


image


漏洞测试生效。

四、漏洞对比分析

阿里云安全团队将S2-045及S2-048漏洞的利用原理做了对比分析。


image


对比S2-045和S2-048的漏洞攻击次数发现,S2-045的危害程度和关注度比S2-048高;在S2-048漏洞爆发后,由于未公开POC和利用工具,当天被利用攻击的几率比较小,安全风险相对较低。

image

五、安全建议

  • 及时检测是否受到漏洞影响:使用的Struts是 2.3.x版本,是否启用了struts2-struts1-plugin插件。使用阿里云云盾态势感知进行漏洞检测。
  • 阿里云上用户可以禁用、关闭(删除)struts-2.3.xappsstruts2-showcase.war包; 建议关闭devmod模式(请根据自身业务情况决定是否关闭)。
  • 开发者可以使用resourcekeys替代,将原始消息直接传递给ActionMessage的方式,以此作为根治措施。

正确方式:

messages.add("msg",new ActionMessage("struts1.gangsterAdded", gform.getName()))

错误方式:

messages.add("msg",new ActionMessage("Gangster " + gform.getName() + " wasadded"))
  • 建议将Struts2升级到最新版本2.5.10.1。
  • 使用阿里云云盾WAF对该漏洞进行防御。

原文链接

目录
相关文章
|
7月前
|
安全 网络安全
10个常用恶意软件检测分析平台
10个常用恶意软件检测分析平台
96 0
|
4月前
|
安全 Java Shell
网络安全-webshell详解(原理、检测与防御)
网络安全-webshell详解(原理、检测与防御)
150 0
|
监控 安全 druid
如何强化应用安全能力,全面拦截 Log4j 漏洞攻击
「ARMS应用安全」为企业业务安全保驾护航!
如何强化应用安全能力,全面拦截 Log4j 漏洞攻击
|
XML SQL 安全
常见高危Web漏洞原理及检测技术分析与研究
随着计算机技术以及信息网络通信技术的高速发展,人们也逐渐意识到信息安全的重要性,网络安全问题成为社会、国家的关注焦点。本文对Web漏洞的类型与原理、Web漏洞扫描技术的原理与应用进行了研究,分析了计算机网络中安全漏洞检测技术的应用策略。
|
SQL 安全 测试技术
网站漏洞渗透检测过程与修复方案
网站的渗透测试简单来 说就是模拟攻击者的手法以及攻击手段去测试网站的漏洞,对网站进行渗透攻击测试,对网站的代码漏洞进行挖掘,上传脚本文件获取网站的控 制权,并对测试出来的漏洞以及整体的网站检测出具详细的渗透测试安全报告。
236 0
网站漏洞渗透检测过程与修复方案
|
人工智能 安全 关系型数据库
分析网站漏洞检测对于区块链的安全分析
目前区块链市场越做越大,很多服务都在使用区块链技术,跟上区块链的大潮,在高速发展的同时,区块链的安全问题也日益严重,2018年上半年ATN区块链平台被爆出高危的区块链漏洞,我们来看下这个ATN到底是如何产生漏洞,分析及如何修复漏洞的。
1135 0
|
安全 Windows 开发工具
深度分析CVE-2017-0007是如何绕过防护措施的
本文讲的是深度分析CVE-2017-0007是如何绕过防护措施的,简而言之,设备用户模块代码完整性防护措施是指阻止没有授权的程序运行,除非他在windows当中经过了信任授权。当然这一防护措施只有windows当中存在,并且它存在于Powershell中防护语言模式(Contrainted Language mode)。
1260 0
|
安全 iOS开发 MacOS
“双子星”文档攻击预警:新型的跨平台恶意文档攻击分析报告
本文讲的是“双子星”文档攻击预警:新型的跨平台恶意文档攻击分析报告,近日,360公司QEX团队和追日团队发现了一种新型的跨平台恶意文档攻击开始流行,并捕获到了该攻击在野外出现的恶意样本。该恶意文档支持跨平台攻击,使用了白利用、无文件和windows安全策略绕过等高端攻击技术。
1894 0
|
安全 Java 网络安全
从数据包视角解析新型Struts2漏洞攻击全过程
本文讲的是从数据包视角解析新型Struts2漏洞攻击全过程,万年漏洞王 Struts2作为世界上最流行的 Java Web 服务器框架之一,已经被炒得沸沸扬扬,其原因是由于 Apache Struts2 的 Jakarta Multipart parser 插件存在远程代码执行漏洞,攻击者可以在使用该插件上传文件时,修改 HTTP 请求头中的 Content-Type 值来触发该漏洞,导致远程执行代码。
1663 0