【问题标题】:A possible security hole in client side OAuth2 flow for Google and FacebookGoogle 和 Facebook 的客户端 OAuth2 流中可能存在安全漏洞
【发布时间】:2012-02-05 07:02:44
【问题描述】:

我正在创建一个 chrome 扩展,我计划在其中使用 OAuth2 客户端流进行身份验证。根据 google 和 facebook 的规范,当我使用客户端流时,我将访问令牌作为 redirect_uri 的哈希部分的一部分。现在我的问题是 -> 如果一个流氓扩展将该访问令牌转移到其他机器上的另一个扩展,然后使用该访问令牌获取用户详细信息,该怎么办?我对网络开发和 ouath 很陌生,如果有人能为我澄清这个疑问,我将不胜感激

【问题讨论】:

  • 如果您的扩展程序将数据传递给另一个服务(用户不知情),那么您的扩展程序就是一个邪恶的扩展程序。如果您的扩展程序在用户不知道的情况下共享 任何 用户数据,那么您的扩展程序就是一个邪恶的扩展程序。澄清:不要作恶
  • @Lix 抱歉,我认为您误解了我的问题。我已经更新了我的问题。我要问的是,这不是 oauth 客户端流程中的安全漏洞,因为它仅取决于访问令牌。随机扩展可以将我的访问令牌转移到其他机器,而不是在我不知情的情况下使用它来获取我的数据。我只是想知道这样的事情是否会发生,并没有任何实施它的意图。
  • 好的,这有点清楚了。我不能 100% 确定扩展的性质,因为我不知道它们的结构以及它们如何相互通信。如果有问题的扩展程序具有执行某些操作的后端服务器,则扩展程序可能不必拥有任何敏感数据。
  • @riteshKadmawala Hii ritesh...你找到答案了吗...ypu 是否实现了扩展...我也遇到了类似的问题...需要实现通过谷歌登录用户的扩展oauth2 并与我的服务器交互,使用我的服务器获取凭据的访问令牌形式..但它没有发生..我也问了一个问题,但没有任何人回复...请你帮我..my question link
  • 不确定这是否有帮助,但访问令牌不应该有很长的寿命。

标签: facebook oauth google-chrome-extension oauth-2.0


【解决方案1】:

Chrome 扩展程序是沙盒的,保存在您的扩展程序中的数据不能被其他扩展程序访问。

【讨论】:

    【解决方案2】:

    Facebook OAuth2 实施要求您使用 SSL (https),​​这意味着其他人无法看到该令牌,除非您在浏览器本身之外明确将其提供给他们(或使用邪恶插件,如前所述)。

    这里有一篇关于这个主题的精彩帖子:http://www.sociallipstick.com/?p=239

    【讨论】:

      【解决方案3】:

      是的,如果用户选择安装 Chrome 扩展程序并授予他们执行此操作的权限,Chrome 扩展程序就能够嗅探您的密码、OAuth 令牌等。您必须小心选择安装哪些扩展!

      【讨论】:

        猜你喜欢
        • 2015-08-19
        • 1970-01-01
        • 2016-10-31
        • 2017-11-16
        • 2015-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多