OAuth 漏洞预警:知乎创始人被黑

  • A+
所属分类:安全新闻

作者:匿名黑客 e

编辑:李普君

漏洞作者:路人甲

相关厂商:新浪微博

漏洞编号:Wooyun-2014-059455


事情是这样的

互联网这两天出了个不大不小的漏洞,我把他叫 「OAuth 回调污染」。OAuth 就是第三方的应用可以通过你的授权而不用知道你的帐号密码能够访问你在某网站的你自己的数据或功能,像 weibo、QQ、淘宝等网站都提供了,也就是说都存在这个漏洞 。

布了个局

知乎本身是支持「QQ」和「微博」登录的,也叫是说用到了 OAuth。通过「黄继新」的个人资料页可以看到绑定了「新浪微博」,编写好了微博相关的攻击代码后我给他发送一封私信,剩下的,就是等他上钩了。

OAuth 漏洞预警:知乎创始人被黑


过了一会

就是他了,北京的,用 Mac 的。通过劫持到的微博 OAuth 授权地址,很轻松就登录上来了,14067 个邀请回答。

OAuth 漏洞预警:知乎创始人被黑


我们来理理

1. 黄继新的账户授权了新浪微博,也就是说可以直接使用微博登录知乎。


2. 那么我假定他已经登录了微博,在 blog 中加入了新浪微博 OAuth 回调污染的攻击代码。


3. 发送私信给黄继新带上我的 blog 地址。


4. 利用劫持到的授权地址登录知乎。


5. 搞定。

说说防御

说防之前我们先了解下攻,现在这种漏洞有 4 种攻击方式:

1. 利用授权方的 url 解析漏洞绕过 redirect_url 的域检测进行污染攻击。


2. 利用应用方的 URL 跳转漏洞,跳转到黑客的网页,然后通过 referer 获取到授权 code。


3. 通过在应用方的内容中插入外部图片的形式获取到 referer 中的授权 code。


4. 通过在应用方的内容中插入外部链接的形式诱使用户点击到黑客页面获取到 referer 中的授权 code。

#授权方:新浪微博、QQ 应用方:知乎


了解了攻击之后我们知道漏洞的产生可以是「授权方」的问题,也可以是「应用方」的问题(这次攻击知乎账户用的是「授权方」新浪的问题)

「授权方」需要做的就是排查对 redirect_url 的域检测是否存在绕过。


「应用方」需要做的就是:

  • 排查网站上的 URL 跳转漏洞。

  • 用户发布内容只允许引用白名单中的资源或使用 HTTPS 进行跳转(包括 图片、视频、flash)。

  • 对于外链攻击的修补方式:

    • 在支持 HTML5 浏览器的环境下给所有外部链接加上 rel=noreferrer 属性。

    • 老版本 IE 的处理方案是利用一个 HTTPS 进行跳转达到抹去 referer 的效果。


嗯,就酱

本文始发于微信公众号(乌云漏洞报告平台):OAuth 漏洞预警:知乎创始人被黑

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: