与OpenSSL一样,OAuth(Open Authorization)作为应用广泛的开源第三方登录认证协议,今年也爆出了安全漏洞。在第三届知道安全论坛上,来自新浪微博的蓝色di雪球表示新浪早在今年3月就发现了这个漏洞,并从OAuth的发展、OAuth的调用方式、OAuth风险分析以及如何利用OAuth漏洞几个方面展开了精彩的演讲。
OAuth是什么?OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往授权方式不同,通过授权团队可以不使用用户名密码,第三方就可以再某网络获得数据和信息。
OAuth调用方式有四种,比较常用的有两种:Authorization Code与Implicit。蓝色di雪球表示OAuth调用方式存在信息泄露、CSRF、URL回调污染以及权限认证利用的风险。其中信息泄露包含:Code泄露、Access Token泄露以及Appsecrit泄露。而CSRF包含授权劫持以及绑定劫持。
如何优雅的利用OAuth漏洞?蓝色di雪球表示,经用户授权,与第三方网站绑定,并登录账户后,攻击者通过构造OAuth回调污染发送私信,实现钓鱼诱使用户点击URL从而劫持用户的应用方身份。另外,拿到Access_token可能劫持大V用户发微博、劫持大量用户发评论、劫持信任攻击、删除指定微博、刷粉、强制关注,甚至获得商业数据。
由于被第三方广泛应用和大量历史遗留问题OAuth漏洞的修复在短时间内难以完成,而针对URL回调污染问题的修复,蓝色di雪球建议明确风险,进行日志分析,并检测全路径。
最后,蓝色di雪球表示未来OAuth可能存在授权滥用以及授权token被拖库的风险。对此,他建议直接封禁上行权限,封禁应用。