2016-10-19 48 views
1
  • 受害者通过系统浏览器在一个的oauth2授权码流授权服务器进行身份验证,并出具由认证服务器
  • 受害者被诱骗点击,在其推出的的oauth2对攻击者网站的链接的会话cookie通过朝的oauth2授权服务器与客户端ID受害者的浏览器授权请求和重定向URI袭击者OAuth2用户端,因为会话cookie已经由认证服务器发出,但只是要求受害人给予
  • 授权服务器不需要身份验证的受害者攻击者客户端访问 - 在这种情况下,受害者被假定为做
  • 授权服务器将重定向受害者的浏览器攻击者重定向URI(假定它指向一个Web应用程序)与授权码授权响应受害者
  • 现在的攻击者拥有授权码的受害人,他或者她可以换取刷新&访问令牌

什么反对这一点的最好可能的预防措施,除了对受害者不接受授予攻击者客户端访问? 我的意思是,普通的互联网用户通常会在正常的日子里点击接受很多东西,而不用多加考虑。如何防止以下CSRF攻击Oauth2?

+0

你知道的事实,有一个[信息安全协议栈交换](http://security.stackexchange.com/)? – timmyRS

+0

我认为应用程序安全是安全和编码之间的一个多学科领域,可能更多地属于StackOverflow。信息安全协议讨论的信息安全协议是一个更为广泛的领域,很多人不是开发人员。他们处理不同层面的问题,有时更多是从理论角度来处理。所以总之我认为这确实是一个编程问题。 –

回答

0

对于这项工作,攻击者必须与身份验证提供者,它在企业环境中不应该是可以注册自己的客户端。此外,由于重定向URI未注册,AP不应该将用户重定向回攻击者。

在公共接入点,任何人都可以注册一个客户端的情况下,这确实是一个问题,而这也是在一定意义上的点。如果用户授权攻击者的应用程序,那么攻击者的应用程序将有权访问。由于它与普通应用程序在这方面没有区别,用户必须小心(当你是对的,大多数用户只需点击“确定”即可)。

的AP仍能保持例如基于用户报告黑名单,但是这是一个弱控制。最好的AP可以做很可能是为用户提供充足的信息和警告,延缓OK按钮几秒钟,试图让他们阅读等