一则SSRF漏洞的故事

admin 2024年7月10日18:50:21评论9 views字数 1101阅读3分40秒阅读模式

背景介绍

该项目为一个云银行平台,使银行提供商能够根据他们的描述快速创建、推出和服务贷款和存款产品。

漏洞发现

白帽小哥正在测试的子域有两个权限Admin&User,他们在这两个权限之中发现了另外两个漏洞,但他们对Process(进程)功能更感兴趣。

顾名思义,该功能允许用户创建一个或一组任务,在它满足用户指定的条件后执行,例如,在x等于y之后执行某件事等。

其中一项任务称为API调用,因此该功能值得对其进行 SSRF 测试。将任务添加到流程后,可以指定主机和方法:

一则SSRF漏洞的故事

为了快速测试,白帽小哥尝试了GET方法和(http://169.254.169.254)来获取AWS实例元数据,但得到的却是 403 Response:

一则SSRF漏洞的故事

于是白帽小哥尝试了一些绕过方法,例如:

  • 利用IPFuscator 进行IP混淆
  • 利用redir6a将IPv6重定向到 169.254.169.254
  • 利用rebinder的DNS重新绑定攻击

然后白帽小哥使用rebinder工具,通过使用169.254.169.254的Google IP,获得在2个IP之间解析的域名,并在API Call任务中使用它,多次尝试后,白帽小哥获得了第一个不同的响应:

一则SSRF漏洞的故事

收到的是401响应,但响应header里(server: EC2ws)表示访问了内部AWS实例,于是白帽小哥报告了这个SSRF盲注,但很快厂商拒绝了该报告(没有任何敏感信息泄露,无影响)。

一则SSRF漏洞的故事

再接再厉

三天后,白帽小哥根据文档:

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html

发现可以通过添加标头(X-aws-ec2-metadata-token-ttl-seconds: 21600)来获取令牌,从而使用返回的令牌和标头(X-aws-ec2-metadata-token: TOKEN)。

而且API Call任务允许添加自定义标头:

一则SSRF漏洞的故事

通过rebinder尝试了新标头后,终于获得了200响应:

一则SSRF漏洞的故事

然后使用响应包中标头(X-aws-ec2-metadata-token)的令牌:

一则SSRF漏洞的故事

成功拿到敏感信息。白帽小哥很快更新了漏洞报告,并提供了详细的复现步骤,厂商在对该漏洞讨论后的 3 天给出了回应:

一则SSRF漏洞的故事

白帽小哥在与对方进一步争论后,厂商最终决定奖励 500 美元作为回报。

以上内容由骨哥翻译并整理,希望对你有所帮助。

原文:https://medium.com/@oXnoOneXo/a-story-of-a-nice-ssrf-vulnerability-51e16ff6a33f

原文始发于微信公众号(骨哥说事):一则SSRF漏洞的故事

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月10日18:50:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一则SSRF漏洞的故事https://cn-sec.com/archives/2939948.html

发表评论

匿名网友 填写信息