如何防止对Oauth2进行以下CSRF攻击?

时间:2016-10-19 11:09:11

标签: security oauth2

  • 受害者通过授权服务器上的系统浏览器在Oauth2授权代码流中进行身份验证,并由授权服务器发出会话cookie
  • 受害者被欺骗点击攻击者网站上的链接,该链接通过受害者浏览器向Oauth2授权服务器发起Oauth2授权请求,其中包含客户端ID和攻击者Oauth2客户端的重定向URI
  • 授权服务器不需要对受害者进行身份验证,因为会话cookie已由授权服务器发出,但只是要求受害者授予攻击者客户端访问权限 - 在这种情况下,受害者被假定为
  • 授权服务器会将受害者浏览器重定向到攻击者重定向URI(假定指向Web应用程序),其中包含授权响应和受害者授权码
  • 攻击者现在拥有受害者的授权码,他或她可以换取刷新&访问令牌

除了受害者不接受授予攻击者客户端访问权限之外,有哪些最佳预防措施? 我的意思是普通互联网用户通常会在正常的一天点击接受很多东西而不用考虑它。

1 个答案:

答案 0 :(得分:0)

为此,攻击者必须向身份验证提供程序注册其客户端,在企业设置中不应该这样做。此外,由于未注册重定向URI,因此AP永远不应将用户重定向回攻击者。

如果是公共AP,任何人都可以注册客户端,这确实是一个问题,但这也是某种意义上的重点。如果用户授权攻击者的应用程序,则攻击者的应用程序将具有访问权限。由于在这方面与普通应用程序没有什么不同,因此用户必须小心谨慎(在您做对的时候,大多数用户只需单击“确定”即可)。

例如,AP仍然可以根据用户报告维护黑名单,但这是一个弱控制。 AP可能做的最好的事情是为用户提供足够的信息和警告,将OK按钮延迟几秒钟以试图让他们阅读等等。