正文
开始会话后,系统会生成一个链接,观众可以通过这个链接在演示期间实时提问:
我启动了 Burp Suite 开始测试。我注意到,每次有人提问时,POST 请求中都会包含一个唯一的 clientId
。每条评论都有一个唯一的 clientId
。这让我顿悟——这可能是个潜在漏洞。
POST /presentation/d/e/2QANgcCBH8YIx_f5yfCz0l5len6p5BDFsiROx_rcqbOqYgcByotn7pOpaS3kXb3YYffwepoOXCyzanE8ZCIw/submitquestion?includes_info_params=1 HTTP/1.1
Host: docs.google.com
Cookie:
Content-Length: 84
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Accept: */*
Origin: https://docs.google.com
Referer: https://docs.google.com/presentation/d/e/2QANgcCBH8YIx_f5yfCz0l5len6p5BDFsiROx_rcqbOqYgcByotn7pOpaS3kXb3YYffwepoOXCyzanE8ZCIw/askquestion?seriesId=d90df436-a253-48a1-8aea-bf5c19761447
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Priority: u=1, i
Connection: keep-alive
seriesId=d90df436-a253-48a1-8aea-bf5c19761447&clientId=e5j7slqfku2&questionText=Test
每当有人点击链接,所有提问都会加载,每条评论都带有不同的唯一 clientId:
我立即意识到这里可能存在漏洞。我用两个不同的账户进行了测试。在账户 1 提交了一条“Test”评论后,复制账户 1 评论的 clientId。接着使用账户 2 打开另一浏览器,然后拦截账户 2 的请求,将其 clientId 替换为账户 1 的 clientId。
报告漏洞
但我知道,这个漏洞的影响很明显:无需用户交互即可利用,也不需要猜测或暴力破解 clientId,因为应用本身会直接提供 clientId。于是,我耐心地重新解释了漏洞的危害性。Google 随后重新打开了问题并确认了漏洞。然而,十天后,报告再次被关闭,理由仍然是“需要猜测 clientId,因此风险较低”。
我有些失望,感觉 Google 的安全团队可能没有认真测试这个漏洞,甚至可能没有观看我提供的 PoC(概念验证)视频。我再次详细说明了攻击者如何轻松提取 clientId 并发起攻击的过程。最终,Google 的安全团队触发了该漏洞,承认了其影响,并将其归类为 S2 严重等级,奖励了我 $3,133.70。
原文始发于微信公众号(玲珑安全):价值$3000的Google Slides IDOR漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论