这篇文章讲了OAuth 和 OpenID容易出现漏洞的一些地方。不管是程序员还是黑客,阅读它都会对你大有裨益。
就OAuth本身而言有一套很严谨的结构,但是很多开发者在部署AOuth的时候因为疏忽产生很多安全隐患,这些隐患如果被攻击者利用,是很难防御的。
现在很多大网站,都存在OAuth安全隐患,我写这篇文章的原因也是希望大家意识到由OAuth配置不当所引发的安全问题,和警示开发人员要小心处理关于OAuth的问题。
平台返回code到事先设定好的回调url, SITE/oauth/callback?code=CODE ,之后客户端把code连同client credentials 和 redirect_uri一起提交换取access_token。
如果客户端没有部署 state这个参数来防止CSRF攻击,那么我们就可以通过CSRF轻易地把我们提供的账号和受害者的账号绑定。
就OAuth本身而言有一套很严谨的结构,但是很多开发者在部署AOuth的时候因为疏忽产生很多安全隐患,这些隐患如果被攻击者利用,是很难防御的。
现在很多大网站,都存在OAuth安全隐患,我写这篇文章的原因也是希望大家意识到由OAuth配置不当所引发的安全问题,和警示开发人员要小心处理关于OAuth的问题。
1. 通过绑定攻击者的账号进行账户劫持
这是一种比较常见的攻击手法,其实就是一种CSRF攻击。平台返回code到事先设定好的回调url, SITE/oauth/callback?code=CODE ,之后客户端把code连同client credentials 和 redirect_uri一起提交换取access_token。
如果客户端没有部署 state这个参数来防止CSRF攻击,那么我们就可以通过CSRF轻易地把我们提供的账号和受害者的账号绑定。
如下图所示,很多网站都提供使用社交账户登录的功能。