【问题标题】:How to prevent a OAuth attack (see attack scenario)?如何防止 OAuth 攻击(参见攻击场景)?
【发布时间】:2020-07-07 14:44:10
【问题描述】:

以下是攻击者如何接管受害者帐户的攻击场景:

  1. 攻击者在 provider.com 上经过身份验证
  2. 攻击者在某个 site.com 上启动了向 provider.com 进行身份验证的过程
  3. 攻击者不会用身份验证码交换访问令牌,而是复制链接https://provider.com/oauth/authenticate?code={authorization-code},然后将其发送给受害者
  4. 受害者在提供商处通过身份验证并单击上述链接,将身份验证码交换为访问令牌,最终在 site.com 上使用受害者的帐户进行身份验证
  5. 攻击者现在继续授权过程并用相同的身份验证代码交换访问令牌,并最终在 site.com 上使用受害者的帐户进行身份验证。

如何防止这种利用 OAuth 协议漏洞的攻击? 提前谢谢大家!

【问题讨论】:

    标签: security authentication web oauth oauth-2.0


    【解决方案1】:

    如果 state 参数由 site.com 维护,则攻击者的状态代码将绑定到他/她的浏览器,而不是受害者的浏览器。因此,当受害者点击恶意 URL 时,site.com 将无法将状态代码与受害者的浏览器会话相关联。

    看看Oauth2.0 spec says 对此有何看法。

    【讨论】:

      猜你喜欢
      • 2017-03-31
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多