ChatGPT-Next-Web SSRF 漏洞让攻击者获得未经授权的服务器访问
除了 ChatGPT 和 Gemini AI 这两种最流行的人工智能系统外,还有其他几种独立的聊天机器人应用程序可供用户部署和使用,以进行个人定制。
这些独立应用程序还提供插入和测试不同人工智能模型的功能,并且还可以绕过 IP 块限制。
NextChat(又名 ChatGPT-Next-Web)是用户最流行的独立 Gen AI 聊天机器人应用程序之一。
这个特殊的应用程序是开源的,可在 GitHub 上使用,拥有超过 63K+ 的 star 和 52K+ 的分支。
此外,shodan 查询(标题:NextChat,“ChatGPT Next Web”)显示,该聊天机器人应用程序主要部署在中国和美国,有超过 7500 个暴露实例。
然而,这个特定的聊天机器人应用程序容易受到严重的全读服务器端请求伪造(SSRF)漏洞的影响。
该漏洞已被指定为CVE-2023-49785,严重级别为 9.1(严重)。目前还没有针对此漏洞的补丁,因此它仍然对组织构成威胁。
ChatGPT-Next-Web SSRF 漏洞
根据《网络安全新闻》分享的报告,NextChat 是一个基于 Next.js 的 JavaScript 应用程序,其功能大部分以客户端代码的形式实现。
该漏洞存在于该应用程序的 /api/cors 端点,该端点用于向 WebDAV 用户保存客户端聊天数据。
有权访问此应用程序的未经身份验证的用户可以通过此端点发送任意 HTTP 请求,这可能使用户能够绕过内置浏览器保护并通过服务器端端点访问跨域资源。
攻击者可以通过在 URL端点末尾添加内部端点来利用此漏洞,这允许攻击者访问内部 HTTP 资源。
利用 SSRF 作为开放重定向(来源:Horizon3)
除此之外,如果实例部署在 AWS 中,攻击者可以访问 AWS 云元数据,并从启用了 IMDSv1(实例元数据服务版本 1)的 EC2 实例检索 AWS 访问密钥。
AWS 元数据泄露(来源:Horizon3)
然而,传递其他标头(例如 Cookie 和 Content-Type)是有限的。然而,有一些创造性的方法可以在 HTTP 请求上注入这些标头。
反射式 XSS
有趣的是,这个端点还被发现容易受到跨站点脚本攻击,这不需要另一个网站来触发漏洞。
端点使用fetch方法,支持数据协议,允许XSS直接在网站上触发。
可以使用添加到 URL 端点的以下漏洞利用代码来触发 XSS。
数据:text%2fhtml;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5kb21haW4pPC9zY3JpcHQ+%23
解码: <script>alert(document.domain)</script>
触发 XSS(来源:Horizon3)
建议组织防止此应用程序暴露在互联网上。
如果不可避免地要为此应用程序添加互联网访问权限,建议将其隔离,而不访问其他内部资源。
文章原文链接:https://www.anquanke.com/post/id/293868