Sec Hotspot 首页  排行榜  收藏本站  技术博客  RSS
统计信息
已收录文章数量:13722 篇
已收录公众号数量:89 个
本站文章为爬虫采集,如有侵权请告知
已收录微信公众号
网信中国 区块链大本营 白说区块链 区块链投资家 区块链官微 区块链铅笔Blockchain HACK学习呀 二道情报贩子 合天智汇 小白帽学习之路 小米安全中心 弥天安全实验室 SAINTSEC SecPulse安全脉搏 TideSec安全团队 360安全卫士 游侠安全网 计算机与网络安全 安全祖师爷 安全学习那些事 腾讯安全联合实验室 黑客技术与网络安全 安全圈 腾讯御见威胁情报中心 Python开发者 Python之禅 编程派 Python那些事 Python程序员 安全威胁情报 吾爱破解论坛 行长叠报 安在 i春秋 嘶吼专业版 E安全 MottoIN 网信防务 网安杂谈 数说安全 互联网安全内参 漏洞战争 安全分析与研究 邑安全 ChaMd5安全团队 天融信阿尔法实验室 安全牛 SecWiki 安全学术圈 信安之路 漏洞感知 浅黑科技 Secquan圈子社区 奇安信集团 奇安信 CERT 国舜股份 雷神众测 盘古实验室 美团安全应急响应中心 瓜子安全应急响应中心 顺丰安全应急响应中心 蚂蚁金服安全响应中心 携程安全应急响应中心 滴滴安全应急响应中心 字节跳动安全中心 百度安全应急响应中心 腾讯安全应急响应中心 网易安全应急响应中心 OPPO安全应急响应中心 京东安全应急响应中心 Bypass CNNVD安全动态 安恒应急响应中心 天融信每日安全简报 奇安信威胁情报中心 看雪学院 黑白之道 水滴安全实验室 安全客 木星安全实验室 云鼎实验室 绿盟科技安全预警 白帽汇 深信服千里目安全实验室 腾讯玄武实验室 长亭安全课堂 FreeBuf 绿盟科技 nmask
Spring Cloud Config Server目录遍历漏洞CVE-2020-5405
本文来自公众号:深信服千里目安全实验室   2020.08.08 09:00:56


Spring Could Config Server存在目录遍历漏洞CVE-2020-5405,该漏洞是由于MVC架构中直接对获取到的name和label进行了拼接,没有做任何过滤,配合上配置文件中的基地址,进行任意位置的回溯并读取文件。





漏洞名称 :Spring Could Config Server目录遍历漏洞CVE-2020-5405

威胁等级 :中危

影响范围

Spring Cloud Config Server 2.1.0-2.1.6

Spring Cloud Config Server 2.2.0-2.2.1

漏洞类型 :目录遍历

利用难度 :简单






漏洞分析


1 Spring Cloud Server组件介绍

Spring Cloud 配置为分布式系统中的外部配置提供服务器和客户端支持。借助Config Server,您可以在所有环境中管理应用程序的外部属性。


2 漏洞描述

Spring Cloud Config Server目录遍历漏洞是由于MVC架构中直接对获取到的name和label进行了拼接,没有做任何过滤,配合上配置文件中的基地址,就可以进行任意位置的回溯并读取文件。


3 漏洞分析

以Spring Cloud Config Server 2.2.0作为漏洞环境分析。传入构造好的payload,到达MVC入口。

首先RequestMapping装饰器通过/将url分成四个部分,分别是name, profile, label, 和最后的path,其中getFilePath函数获取了path。


进一步进入到接下来调用的retrieve

这里面可以发现三个重点函数,分别是resolveName, resolveLabel 和findOne,其中resolveName的内容如下:

resolveName方法将url中的(_)替换成/, 这也是第一个payload的由来,同理,另一个resolveLabel也是一样的功能。下面重点看一下findOne函数:

此函数的主要功能是获取到配置文件中的基地址,这里是之前配置的C:/test,再与label做一个拼接,再去查找是否存在此文件。如果存在,则返回文件资源,继续回到上面的retrieve方法:

此方法是判断文件是否存在后缀,如果不存在,则报错退出。这就导致了无法读取linux里面的类似/etc/passwd等文件,但是对于windows,可以在文件后面加一个., 实现文件的正常读取,类似我们这里使用的zyw.


同时由于最后拼接成的路径还是一个URL类,因此可以使用双重url编码,从而导致了第二个payload的出现。


这两个payload的区别在于第一个payload返回正常的200状态码,而第二个payload返回304状态码,但是都会返回文件中的数据,其中的差别在于下面的位置,第二个payload因为没有做替换操作,会提前返回。

至此漏洞利用分析过程基本完成。


4 漏洞复现

搭建Spring Cloud Config Server 2.2.0漏洞环境,访问精心构造的url,获得目标主机上的文件内容。效果如图:


影响范围


目前受影响的Spring Cloud Config Server版本:

Spring Cloud Config Server 2.1.0-2.1.6

Spring Cloud Config Server 2.2.0-2.2.1


解决方案


1修复建议

1. 最新版本Spring Cloud Config Server 已经防御此漏洞,请受漏洞影响的用户下载最新版本,下载链接:

https://github.com/spring-cloud/spring-cloud-config


2. 如非业务功能需求,尽量不配置native访问。


2 深信服解决方案

深信服下一代防火墙 】预计2020年8月14日可轻松防御此漏洞, 建议部署深信服下一代防火墙的用户更新至最新的安全防护规则,可轻松抵御此高危风险。

深信服云盾 】预计2020年8月14日从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。


深信服安全感知平台 】预计2020年8月14日可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。


深信服安全运营服务 】深信服云端安全专家提供7*24小时持续的安全运营服务。预计2020年8月10日,云端安全专家即对客户的网络环境进行漏洞扫描,保障第一时间检查客户的主机是否存在此漏洞。预计2020年8月14日对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。


深信服安全云眼 】预计2020年8月10日完成检测更新,对所有用户网站探测,保障用户安全。不清楚自身业务是否存在漏洞的用户,可注册信服云眼账号,获取30天免费安全体验。
注册地址:http://saas.sangfor.com.cn


深信服云镜 】预计2020年8月10日完成检测能力的发布,部署了云镜的用户可以通过升级来快速检测网络中是否受该高危风险影响,避免被攻击者利用。离线使用云镜的用户需要下载离线更新包来获得漏洞检测能力,可以连接云端升级的用户可自动获得漏洞检测能力。


时间轴


2020/2/26



Spring官方发布Spring Cloud Config Server目录穿越漏洞CVE-2020-5405报告。

2020/8/7



深信服千里目安全实验室分析漏洞并提供深信服解决方案。


参考链接


https://github.com/spring-cloud/spring-cloud-config


点击 阅读原文 ,及时关注并登录深信服智安全平台,可轻松查询漏洞相关解决方案