freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

【漏洞分析】Struts2 S2-062远程代码执行漏洞(CVE-2021-31805)分析
安博通 2022-04-22 10:49:42 198407
所属地 北京

近日,Apache官方发布安全通告,披露了其Struts2框架存在远程代码执行漏洞,漏洞编号CVE-2021-31805 。

该漏洞的产生原因是一个更早漏洞CVE-2020-17530的修复不完全。CVE-2020-17530漏洞是由于Struts2会对某些标签属性(比如ID)的属性值进行二次表达式解析,因此当这些标签属性中使用了%{x}且x值用户可控时,用户再传入一个%{payload},就会造成OGNL表达式执行。

在CVE-2021-31805漏洞修复前,仍然有部分标签属性使得攻击者可以恶意构造OGNL表达式执行,导致远程代码执行。

危害等级

高危

影响范围

2.0.0≤Apache Struts≤2.5.29

漏洞复现

目标机器10.203.200.4使用的是Apache Struts 2.5.25版本,可以在提交的报文body部分写入指令pwd,从返回结果id=”/usr/src”可以看出,提交的指令被执行了。


排查方法

可通过排查struts-core-版本号.jar来判断是否受此漏洞影响:

若当前版本在受影响范围内,则可能存在安全风险。


如果没有版本号,可以在jar文件的META-INF/MANIFEST.MF中搜索Bundle-Version,若2.0.0≤Apache Struts≤2.5.29,则存在该漏洞。


处置建议

1、版本升级

目前官方已发布最新版本,建议受影响用户及时更新升级,下载链接:

https://struts.apache.org/download.cgi#struts-ga

2、临时防护措施

  • 可通过设置所有标签中value=" "来缓解此漏洞。
  • 将apache.commons.collection.BeanMap添加至excludedClasses黑名单中。

3、产品解决方案

安博通深度安全网关已支持该漏洞防护,需要将规则包升级到20220419及以上版本。升级位置为:系统维护→系统升级→自动升级,点击立即升级或下载离线特征库手动升级。


防护后效果:规则升级后,在策略中选用包含该特征的IPS模板,并配置记录日志和阻断。当攻击发生时,就会被安博通深度安全网关拦截并记录日志。


# 网络安全 # 漏洞分析
本文为 安博通 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
安博通 LV.6
安博通,可视化网络安全技术创新者
  • 48 文章数
  • 14 关注者
语音网络钓鱼新动向:DarkGate恶意软件入侵案例剖析
2025-02-18
揭秘SQL注入漏洞:为何它成为攻击者的首选?
2024-08-29
揭露黑产新势力:Akira勒索软件家族深度解析
2024-08-08
文章目录