【发布时间】:2024-04-21 00:10:02
【问题描述】:
我正在使用 Oauth2 implicit flow 来保护单页应用程序和 Rest API。
如果您不熟悉 oauth2 隐式流程,请快速了解一下:
我们正在使用隐藏的 iframe 和小 javascript 来获取访问令牌和“刷新”(实际上是获取新令牌,只要用户登录到授权服务器)它过期时。
现在,恶意网站看起来很容易包含相同的 iframe,并且如果用户已登录,只需从哈希片段中检索访问令牌。
我查看了X-Frame-Options,它们无法阻止重定向,只能阻止呈现内部内容。但是我们的令牌在已经到达浏览器的 url 片段上。
由于这是我们“自己的”应用程序,我们跳过了用户的批准步骤,只要 redirect_uri 匹配并且用户登录,就会自动授予访问令牌。可能这个应用程序还进一步牺牲了我们的安全性。
这看起来像是一个无法接受的安全漏洞,有什么建议吗?
【问题讨论】:
-
“现在恶意网站看起来很容易包含相同的 iframe 并从哈希片段中检索访问令牌” - 这应该通过同源策略来防止.
-
但是请求的哈希片段(这是本案例中最秘密的部分)已经到达并且可以被父窗口检索到不是吗?还是 SSL 保护这个?
标签: security iframe oauth oauth-2.0