HackerNews 编译,转载请注明出处:
在 Better Auth 库中发现了一个关键的安全漏洞,Better Auth 是一个流行的 TypeScript 身份验证框架。该漏洞可能允许攻击者绕过安全措施并潜在地接管用户账户。
该漏洞存在于 trustedOrigins 保护功能中,该功能旨在将重定向限制为受信任的网站。然而,发现了一种绕过方法,允许攻击者利用此功能将用户重定向到恶意网站。
根据安全公告:“发现了一种绕过 trustedOrigins 安全功能的方法。这适用于通配符或绝对 URL 的 trustedOrigins 配置,使受害者的网站面临开放重定向漏洞,攻击者可以通过更改 ‘callbackURL’ 参数值为攻击者拥有的网站来窃取受害者的重置密码令牌。”
攻击者可以通过开放重定向利用此漏洞,攻击者制作恶意链接并将其发送给受害者。当受害者点击链接时,他们将被重定向到攻击者控制的网站,可能允许攻击者窃取受害者的重置密码令牌并接管其账户。
该漏洞源于处理 trustedOrigins 的中间件中对回调 URL 的验证不当。攻击者可以制作恶意负载,例如:
https://demo.better-auth.com/api/auth/reset-password/x?callbackURL=/ /example.com
这利用了 URL 解析的方式,允许攻击者将受害者重定向到外部域名。一旦受害者点击链接,他们的密码重置令牌将被发送到攻击者的网站,导致账户完全被攻陷。
另一种利用方法涉及库中 trustedOrigins 处理中使用的弱正则表达式模式:[^/\\]*?\.example\.com[/\\]*?
攻击者可以使用如下负载:http:attacker.com?.example.com/
由于 : 和 ? 是 URL 中的特殊字符,浏览器将 http: 解释为 URL 方案的一部分,而不是纯文本,导致意外重定向到攻击者的网站。
Better Auth 项目已发布 1.1.21 版本来解决此漏洞。强烈建议所有 Better Auth 库的用户尽快更新到最新版本,以保护自己免受潜在攻击。
消息来源:Security Online;
本文由 HackerNews.cc 翻译整理,封面来源于网络;
转载请注明“转自 HackerNews.cc”并附上原文