【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析

渗透技巧 2年前 (2021) admin
1,389 0 0

漏洞信息




Sentinel是阿里巴巴发行的面向分布式服务架构的高可用防护开源组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助用户保障微服务的稳定性。Sentinel开源生态如下:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


Github地址为:


Sentinel

https://github.com/alibaba/Sentinel


最近发现有大佬提交了`issue`,sentinel-dashboard接口无需认证即可访问,并且存在未授权SSRF漏洞,存在重大安全隐患。下面给小伙伴们简单分享下漏洞细节。


漏洞分析




直接拉取老环境:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


利用idea启动工程即可。


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


系统基于SpringBoot架构进行设计,定位`com.alibaba.csp.sentinel.dashboard.controller.MachineRegistryController`控制器类:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


`receiveHeartBeat`定义了`/registry/machine`路由规则,对IP地址、端口等输入参数进行一系列检查,注意这里只验证了端口是否为整数,但是对IP地址字符串没有任何检查,完成检查后,新增了一个实例化的`MachineInfo`对象:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


同时我们注意到在类`com.alibaba.csp.sentinel.dashboard.metric.MetricFetcher#MetricFetcher`的构造函数中会自动调用`start`函数:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


在`start`中启动了一个定时器调用`fetchAllApp`函数:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


通过`appManagement.getAppNames`获取全部app对象(包括上面创建的),遍历调用`doFetchAppMetric`:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


进入`fetchOnce`:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


取出`machine`对象中的IP地址和端口信息,构建URL对象并发送HTTP请求,整个过程缺少必要的验证和访问控制,导致恶意用户可以通过控制IP(字符串未做任何检查)和端口,从而构造URL发送SSRF攻击。


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


修复方式




最新版本进行了修复:


【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析


增加了对IP地址格式的检查,可以一定程度限制SSRF攻击,但是仍然可以对内网进行端口扫描。



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。



点关注,不迷路!

【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析

原文始发于微信公众号(且听安全):【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析

版权声明:admin 发表于 2021年11月23日 上午7:13。
转载请注明:【最新漏洞预警】阿里巴巴Sentinel开源组件SSRF漏洞分析 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...