Slack的$ 1.000 SSRF
字数 1108 2025-08-26 22:11:22

Slack SSRF漏洞分析与绕过技术详解

1. 漏洞背景

Slack是一个广泛使用的团队协作平台,提供了多种集成功能。其中"斜杠命令"(Slash Commands)和"事件订阅"(Event Subscriptions)功能存在服务器端请求伪造(SSRF)漏洞,允许攻击者访问内部网络资源。

2. 漏洞原理

2.1 斜杠命令SSRF

Slack的斜杠命令功能允许用户注册自定义URL,当命令被调用时,Slack后端会向该URL发送请求。虽然Slack实施了黑名单机制阻止访问内部资源(如回环地址、10.0.0.0/8、192.168.0.0/24等),但存在绕过方法。

2.2 事件订阅SSRF

事件订阅功能允许应用订阅Slack事件通知,Slack会向用户指定的URL发送事件数据。同样存在SSRF保护绕过问题。

3. 漏洞利用技术

3.1 IPv6地址绕过

最初发现的绕过方法是使用IPv6地址表示法:

http://[::]:22/

其中:

  • [::] 是IPv6的回环地址(相当于IPv4的127.0.0.1)
  • 22 是SSH服务端口

这种方法可以访问绑定在所有接口且支持IPv6的内部服务。

3.2 修复后的绕过技术

当Slack禁用了直接注册IPv6地址后,研究者使用了PHP重定向技术:

  1. 在攻击者控制的服务器上创建index.php文件:
<?php header("location: http://[::]:22/"); ?>
  1. 在Slack中注册指向该PHP文件的URL:
http://hackerserver.com/
  1. 当Slack访问该URL时,会被重定向到内部IPv6地址

3.3 通用重定向技术

更通用的重定向脚本(x.php):

<?php header("location: ".$_GET['u']); ?>

使用方式:

http://hacker.site/x.php/?u=http://%5B::%5D:22/

(URL编码后的[::]%5B::%5D)

4. 漏洞影响

成功利用这些SSRF漏洞可以:

  • 访问Slack内部网络服务(如SSH、SMTP等)
  • 扫描内部网络
  • 可能进一步利用内部服务漏洞进行横向移动

5. 漏洞修复

Slack采取的修复措施:

  1. 禁用直接在斜杠命令中注册IPv6地址
  2. 增强SSRF保护机制,检查重定向链

6. 防御建议

针对类似SSRF漏洞的防御措施:

  1. 实施严格的白名单而非黑名单
  2. 检查并限制所有重定向
  3. 验证目标URL的解析结果是否为内部地址
  4. 使用DNS解析结果进行二次验证
  5. 限制请求的协议(如只允许HTTPS)
  6. 实施网络层隔离,限制内部服务的访问权限

7. 漏洞奖励

Slack为此类SSRF漏洞支付了\(500-\)1,000的漏洞赏金,具体取决于漏洞的严重性和利用难度。

8. 学习要点

  1. 始终检查目标系统之前的漏洞报告,可能发现可复用的绕过技术
  2. 当直接方法被修复时,尝试间接方法(如重定向)
  3. 一个功能的修复可能在其他功能中仍然存在类似问题
  4. 坚持自己的发现,当被误判为重复报告时要据理力争
Slack SSRF漏洞分析与绕过技术详解 1. 漏洞背景 Slack是一个广泛使用的团队协作平台,提供了多种集成功能。其中"斜杠命令"(Slash Commands)和"事件订阅"(Event Subscriptions)功能存在服务器端请求伪造(SSRF)漏洞,允许攻击者访问内部网络资源。 2. 漏洞原理 2.1 斜杠命令SSRF Slack的斜杠命令功能允许用户注册自定义URL,当命令被调用时,Slack后端会向该URL发送请求。虽然Slack实施了黑名单机制阻止访问内部资源(如回环地址、10.0.0.0/8、192.168.0.0/24等),但存在绕过方法。 2.2 事件订阅SSRF 事件订阅功能允许应用订阅Slack事件通知,Slack会向用户指定的URL发送事件数据。同样存在SSRF保护绕过问题。 3. 漏洞利用技术 3.1 IPv6地址绕过 最初发现的绕过方法是使用IPv6地址表示法: 其中: [::] 是IPv6的回环地址(相当于IPv4的127.0.0.1) 22 是SSH服务端口 这种方法可以访问绑定在所有接口且支持IPv6的内部服务。 3.2 修复后的绕过技术 当Slack禁用了直接注册IPv6地址后,研究者使用了PHP重定向技术: 在攻击者控制的服务器上创建index.php文件: 在Slack中注册指向该PHP文件的URL: 当Slack访问该URL时,会被重定向到内部IPv6地址 3.3 通用重定向技术 更通用的重定向脚本(x.php): 使用方式: (URL编码后的 [::] 为 %5B::%5D ) 4. 漏洞影响 成功利用这些SSRF漏洞可以: 访问Slack内部网络服务(如SSH、SMTP等) 扫描内部网络 可能进一步利用内部服务漏洞进行横向移动 5. 漏洞修复 Slack采取的修复措施: 禁用直接在斜杠命令中注册IPv6地址 增强SSRF保护机制,检查重定向链 6. 防御建议 针对类似SSRF漏洞的防御措施: 实施严格的白名单而非黑名单 检查并限制所有重定向 验证目标URL的解析结果是否为内部地址 使用DNS解析结果进行二次验证 限制请求的协议(如只允许HTTPS) 实施网络层隔离,限制内部服务的访问权限 7. 漏洞奖励 Slack为此类SSRF漏洞支付了$500-$1,000的漏洞赏金,具体取决于漏洞的严重性和利用难度。 8. 学习要点 始终检查目标系统之前的漏洞报告,可能发现可复用的绕过技术 当直接方法被修复时,尝试间接方法(如重定向) 一个功能的修复可能在其他功能中仍然存在类似问题 坚持自己的发现,当被误判为重复报告时要据理力争