$3000赏金:聊天AI中一个简单的IDOR漏洞导致私密对话泄露
作者:winteri3coming
大家好,我是winteri3coming(又名Djalel)。我打算开始发布一些关于我发现的有趣、奇怪或值得报告的漏洞分析文章。我会保持简单、诚实,甚至有点凌乱——就像我平时说话的方式一样。希望你们喜欢这些内容。请继续关注,后面还有更多精彩内容。
发现过程
我当时正在做平常做的事情:从公共来源(如VirusTotal、URL存档等)抓取随机URL,只是想看看目标系统中有哪些奇怪的东西。通常这很无聊。但后来我遇到了这些看起来像是AI平台聊天会话的路径:
|
|
这些URL末尾都有一些看起来随机的ID。正常情况下,你会期望这些内容受到保护,需要登录或某些特殊请求头。但事实并非如此。我直接把URL放入浏览器……然后成功了。完整的对话记录——包括提示和回复,所有内容都显示出来了。这不是我的对话,也不是我认识的任何人的对话。这些聊天记录就这样暴露在外。
这些ID是随机的,所以你无法手动猜测它们。但问题不在于猜测。问题在于:一旦这些链接在任何地方泄露——日志、分析工具、公共存档——它们就成为了访问私密对话的永久后门。
漏洞验证
我快速编写了一份简单的报告,没什么复杂的。我在地址栏中输入了一些随机URL,结果看到了其他用户的完整对话记录。无需认证,无需令牌,仅凭链接就能访问——这就是我在报告中包含的内容。
报告大约花了10天才被处理,在这段时间里,我继续深入研究以了解背后到底发生了什么。在检查网络请求时,我注意到一个POST调用访问了某个API端点。在请求体中,有一个id参数,你猜怎么着?它与我之前在URL中看到的随机标识符完全匹配。这基本上证实了整个情况:聊天ID直接被用作对象引用,周围没有任何授权检查。典型的IDOR漏洞。
经验总结
老实说,我发现这个漏洞有点幸运——但这不完全是运气。如果我没有持续监控那些在线索引源,这个漏洞就会从我眼前溜走。这就是关键:这些东西并不总是在目标本身上出现……它们会在周围泄露。持续关注这些来源是漏洞赏金狩猎的一半工作。
处理时间: 10天
赏金发放时间: 22天
赏金金额: 3000美元
漏洞类型: IDOR
这次就到这里。希望你们喜欢这个过程。我还有更多发现等着分享,请继续关注——下个报告见。winteri3coming结束。