如何防止OAuth攻击(参见攻击情形)?

时间:2017-07-10 08:07:06

标签: security authentication web oauth oauth-2.0

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

  1. 攻击者在provider.com上进行了身份验证
  2. 攻击者在某个site.com启动了使用provider.com进行身份验证的过程
  3. 攻击者不会为访问令牌交换授权码并复制链接https://provider.com/oauth/authenticate?code={authorization-code},然后将其发送给受害者
  4. 受害者在提供商处进行身份验证并点击上述链接,交换访问令牌的身份验证码,最后在site.com上使用受害者的帐户进行身份验证
  5. 攻击者现在继续授权过程,并为访问令牌交换相同的身份验证码,最后在site.com上使用受害者的帐户进行身份验证。
  6. 如何防止这种利用OAuth协议弱点的攻击? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

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

看一下Oauth2.0 spec says对此的看法。