查看原文
其他

研究员发现 Google Cloud 项目中的 SSRF 漏洞,获1万美元奖金

Ben Dickson 代码卫士 2022-12-15

 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士


摘要

安全研究员David Schütz 发现谷歌 Cloud 项目中存在一个 URL 解析漏洞,可导致项目易受服务器端请求伪造(SSRF)攻击。目前该漏洞已修复,它本可导致攻击者访问敏感资源并运行恶意代码。


泄露访问令牌


Schütz 在研究 Discovery Documents(提供Google API 服务的标准的数据结构)时,发现了一个有趣的服务 “Jobs APT”,从名称上看它是一项内部服务。

Jobs API 将他引向 Google App Engine 上的一款应用程序。Google App Engine 用作代理,使用户能够通过谷歌的公开产品营销页面触及 API。该代理是向API提供访问权限的中介,也就是说它具有一个访问令牌,可作为SSRF攻击的窗口。

该代理阻止通过以白名单方式运行请求URL的方式访问谷歌的内部资源。但之后Schütz 设法诱骗该URL解析器绕过白名单,将请求发送给任意服务器。这就使得他能够从该代理app将请求发送至可在谷歌 Cloud 上运行的VPS服务器。该请求泄露了代理app的访问令牌,之后被用于将请求发送给其它的内部谷歌Cloud项目。

Schütz指出,核心问题在于URL解析漏洞导致SSRF。

此前,他曾在谷歌的一个 JavaScript 库中找到了类似漏洞,该库用于很多谷歌服务中。


访问资源、运行任意代码


Schütz 通过访问令牌获取了可访问的内部项目清单、云存储桶、虚拟机以及该代理应用的管理接口。通过该管理接口,他访问了包含敏感用户信息和app本身实例的日志,通过逆向可获取其源代码。该管理接口尤为危险,因为它具有对App Engine 实例的完全控制权限,可使攻击者破坏服务、收集用户信息或上传恶意代码。

为了展示该漏洞的影响,Schütz 在该代理服务上创建并上传了一款 Python 应用程序,可返回base64信息。为避免破坏主要服务,他将该应用上传为非默认版本的代理服务。

Schütz 指出,“这个漏洞应该是行业范围内的问题,因为不同的应用程序基于不同的标准解析URL。披露了谷歌 JS 库中的第一个问题后,我发现很多其它公司也修复了产品中的这个问题。即便如此,这个问题甚至仍然会出现在谷歌。这个SSRF 漏洞就是一个绝佳例子。“

谷歌漏洞奖励计划为此向Schütz办法了4133美元的奖金。漏洞修复后,它发现,虽然原始的exploit 已经无法在代理中运作,但该URL解析器让然可通过另一种方法被绕过。这个新漏洞为他赢得3133美元的奖励。

随后,他因为发现并报告Google App Engine的老旧版本仍在运行而获得另外3133美元的奖励。










推荐阅读
谷歌发布 Linux 内核提权漏洞奖励计划,综合奖金最高超30万美元
微软推出 Power Platform 漏洞奖励计划
HackerOne漏洞奖励计划扩展至开源漏洞




原文链接

https://portswigger.net/daily-swig/researcher-finds-ssrf-bug-in-internal-google-cloud-project-nabs-10-000-bounty


题图:Pixabay License



本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。




奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

    觉得不错,就点个 “在看” 或 "赞” 吧~



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存