新浪 网站 OAuth 2.0 隐蔽重定向 (Covert Redirect) 网络安全漏洞 (信息泄漏 & 公开重定向)
(1) 域名:sina.com
"
新浪(NASDAQ:SINA),是一家网络公司的名称,以服务大中华地区与海外华人为己任,新浪拥有多家地区性网站,通过旗下五大业务主线为用户提供网
络服务,网下的北京新浪、香港新浪、台北新浪、北美新浪等覆盖全球华人社区的全球最大中文门户网站,2012年11月新浪注册用户已突破4亿。新浪公司是
一家服务于中国及全球华人社群的网络媒体公司。新浪通过门户网站新浪网、移动门户手机新浪网和社交网络服务及微博客服务微博组成的数字媒体网络,帮助广大
用户通过互联网和移动设备获得专业媒体和用户自生成的多媒体内容(UGC)并与友人进行兴趣分享。" (百度百科)
(2) 漏洞描述:
新浪 网站有有一个计算机安全问题,黑客可以对它进行隐蔽重定向 (Covert Redirect) 网络攻击。
这
个漏洞不需要用户登录,测试是基于微软 Windows 8 的 IE (10.0.9200.16750); Ubuntu (14.04) 的
Mozilla 火狐 (Firefox 34.0) 和 谷歌 Chromium 39.0.2171.65-0; 以及苹果 OS X Lion
10.7 的 Safari 6.16。
(2.1) 漏洞细节:
Sina 的 OAuth 2.0 系统可能遭到攻击。更确切地说, Sina 对 OAuth 2.0 系统的 parameter “&redirect_uri“ 验证不够充分。可以用来构造对 Sina 的 URL跳转 攻击。
与此同时,这个漏洞可以用下面的参数来收集第三方 App 和 用户 的敏感信息(敏感信息包含在 HTTP header里),
“&response_type"=sensitive_info,token,code…
“&scope"=get_user_info,email…
它也增加了对第三方网站 URL跳转 攻击的成功率。
漏洞地点 “/authorize?",参数"&redirect_uri", e.g.
https://api.t.sina.com.cn/oauth2/authorize?client_id=496934491&redirect_uri=http%3A%2F%2Fwww.paidai.com%2Fuser%2Flogin.php%3Fref%3Dhttp%3A%2F%2Ftetraph.com%2Fessayjeans%2Fmemories%2F%25E9%259B%25A8%25E6%25A2%25A6%25E9%259B%25A8%25E9%259F%25B5.html&response_type=code [1]
同意三方 App 前:
当一个已经登录的 Sina 用户点击上面的 URL ([1]), 对话框会询问他是否接受第三方 App 接收他的信息。如果同意,他会被跳转到 参数 “&redirect_uri" 的 URL。
如果没有登录的Sina 用户点击 URL ([1]), 他登录后会发生同样的事情。
同意三方 App 后:
已经登录的 Sina 用户 不会再被询问是否接受 三方 App。当他点击 URL ([1]) 时,他会被直接跳转到攻击者控制的页面。
如果 Sina 用户没有登录,攻击依然可以在要求他登录的Sina的对话框被确认后完成(这个过程不会提示任何和三方 App 有关的内容)。
(2.1.1) Sina 一般会允许属于已被验证过得三方 App domain 的所有 URLs。 然而,这些 URLs 可以被操控。比如,参数 “&redirect_uri" 是被三方 App 设置的,但攻击者可以修改此参数的值。
因此,Sina 用户意识不到他会被先从 Sina 跳转到第三方 App 的网页,然后从此网页跳转到有害的网页。这与从 Sina 直接跳转到有害网页是一样的。
因为 Sina 的 OAuth 2.0 客户很多,这样的攻击可以很常见。
在同意三方 App 之前,Sina 的 OAuth 2.0 让用户更容易相信被跳转的页面是安全的。这增加了三方 App 被 URL跳转 攻击的成功率。
同意三方 App 后, 攻击者可以完全绕过 Sina 的 URL跳转 验证系统。
(2.2) 用了一个页面进行了测试, 页面是 “http://qianqiuxue.tumblr.com/“. 可以假定它是有害的,并且含有收集三方 App 和用户敏感信息的 code。
下面是一个有漏洞的三方 domain:
paidai.com
这个 domain 有漏洞的 URL:
http://www.paidai.com/user/login.php?ref=http://tetraph.com/essayjeans/memories/%E9%9B%A8%E6%A2%A6%E9%9B%A8%E9%9F%B5.html
Sina 与 paidai.com 有关的有漏洞的 URL:
https://api.t.sina.com.cn/oauth2/authorize?client_id=496934491&redirect_uri=http%3A%2F%2Fwww.paidai.com%2Fsiteuser%2Foauth_sina.php%3Ffrom%3Dweibo&response_type=code
(3) 什么是隐蔽重定向?
隐蔽重定向 (Covert Redirect) 是一个计算机网络安全漏洞。这个漏洞发布于 2014年5月。漏洞成因是网络应用软件对跳转到合作者的跳转没有充分过滤。这个漏洞经常利用第三方网站 (包括合作网站) 的公开重定向 (Open Redirect) 或者 跨站脚本漏洞 (XSS – Cross-site Scripting) 问题。
相关文章:
http://tetraph.com/security/covert-redirect/sinas-oauth-2-0-covert-redirect
https://twitter.com/essayjeans/status/558976278854770688
http://diebiyi.com/articles/security/covert-redirect/sina-weibo-oauth-2-0
https://hackertopic.wordpress.com/2014/09/28/sina-exploit/
http://japanbroad.blogspot.jp/2014/09/sina-hacking.html
http://tetraph.blog.163.com/blog/static/23460305120144715917495/
http://homehut.lofter.com/post/1d226c81_7069918
http://xingti.tumblr.com/post/119489954830/securitypost-sicherheitslucke-in-oauth-2-0-und
https://infoswift.wordpress.com/2014/09/11/sina-bugs/
http://computerobsess.blogspot.com/2014/06/sina-web-service-attack.html
http://www.inzeed.com/kaleidoscope/covert-redirect/sinas-oauth-2-0-covert-redirect
http://tetraph.com/security/covert-redirect/sinas-oauth-2-0-covert-redirect
https://twitter.com/essayjeans/status/558976278854770688
http://diebiyi.com/articles/security/covert-redirect/sina-weibo-oauth-2-0
https://hackertopic.wordpress.com/2014/09/28/sina-exploit/
http://japanbroad.blogspot.jp/2014/09/sina-hacking.html
http://tetraph.blog.163.com/blog/static/23460305120144715917495/
http://homehut.lofter.com/post/1d226c81_7069918
http://xingti.tumblr.com/post/119489954830/securitypost-sicherheitslucke-in-oauth-2-0-und
https://infoswift.wordpress.com/2014/09/11/sina-bugs/
http://computerobsess.blogspot.com/2014/06/sina-web-service-attack.html
http://www.inzeed.com/kaleidoscope/covert-redirect/sinas-oauth-2-0-covert-redirect
===============
Sina OAuth 2.0 Service Covert Redirect Web Security Bugs (Information Leakage & Open Redirect)
(1) Domain:sina.com
“Sina
(新浪) is a Chinese online media company for Chinese communities around
the world. Sina operates four major business lines: Sina Weibo, Sina
Mobile, Sina Online, and Sina.net. Sina has over 100 million registered
users worldwide. Sina was recognized by Southern Weekend as the “China’s
Media of the Year" in 2003.Sina owns Sina Weibo, a Twitter-like
microblog social network, which has 56.5 percent of the Chinese
microblogging market based on active users and 86.6 percent based on
browsing time over Chinese competitors such as Tencent and Baidu. The
social networking service has more than 500 million users and millions
of posts per day, and is adding 20 million new users per month, says the
company. The top 100 users now have over 180 million followers
combined. Sina.com is the largest Chinese-language web portal. It is run
by Sina Corporation, which was founded in 1999. The company was founded
in China, and its global financial headquarters have been based in
Shanghai since October 1, 2001." (Wikipedia)
(2) Vulnerability Description:
Sina web application has a computer security problem. Hacker can exploit it by Covert Redirect cyber attacks.
The
vulnerabilities can be attacked without user login. Tests were
performed on Microsoft IE (10.0.9200.16750) of Windows 8, Mozilla
Firefox (34.0) & Google Chromium 39.0.2171.65-0 ubuntu0.14.04.1.1064
(64-bit) of Ubuntu (14.04),Apple Safari 6.1.6 of Mac OS X Lion 10.7.
(2.1) Vulnerability Detail:
Sina’s
OAuth 2.0 system is susceptible to Attacks. More specifically, the
authentication of parameter “&redirct_uri" in OAuth 2.0 system is
insufficient. It can be misused to design Open Redirect Attacks to Sina.
At
the same time, it can be used to collect sensitive information of both
third-party app and users by using the following parameters (sensitive
information is contained in HTTP header.),
“&response_type"=sensitive_info,token…
“&scope"=get_user_info%2Cadd_share…
It increases the likelihood of successful Open Redirect Attacks to third-party websites, too.
The vulnerabilities occurs at page “/authorize?" with parameter “&redirect_uri", e.g.
https://api.t.sina.com.cn/oauth2/authorize?client_id=496934491&redirect_uri=http%3A%2F%2Fwww.paidai.com%2Fuser%2Flogin.php%3Fref%3Dhttp%3A%2F%2Ftetraph.com%2Fessayjeans%2Fmemories%2F%25E9%259B%25A8%25E6%25A2%25A6%25E9%259B%25A8%25E9%259F%25B5.html&response_type=code [1]
https://api.t.sina.com.cn/oauth2/authorize?client_id=496934491&redirect_uri=http%3A%2F%2Fwww.paidai.com%2Fuser%2Flogin.php%3Fref%3Dhttp%3A%2F%2Ftetraph.com%2Fessayjeans%2Fmemories%2F%25E9%259B%25A8%25E6%25A2%25A6%25E9%259B%25A8%25E9%259F%25B5.html&response_type=code [1]
Before acceptance of third-party application:
When
a logged-in Sina user clicks the URL ([1]) above, he/she will be asked
for consent as in whether to allow a third-party website to receive
his/her information. If the user clicks OK, he/she will be then
redirected to the URL assigned to the parameter “&redirect_uri".
If a user has not logged onto Sina and clicks the URL ([1]) above, the same situation will happen upon login.
After acceptance of third-party application:
A
logged-in Sina user would no longer be asked for consent and could be
redirected to a webpage controlled by the attacker when he/she clicks
the URL ([1]).
For a user who has not logged in, the attack could still be completed after a pop-up page that prompts him/her to log in.
(2.1.1) Sina
would normally allow all the URLs that belong to the domain of an
authorized third-party website. However, these URLs could be prone to
manipulation. For example, the “&redirect_uri" parameter in the URLs
is supposed to be set by the third-party websites, but an attacker
could change its value to make Attacks.
Hence,
a user could be redirected from Sina to a vulnerable URL in that domain
first and later be redirected from this vulnerable site to a malicious
site unwillingly. This is as if the user is redirected from Sina
directly. The number of Sina’s OAuth 2.0 client websites is so huge that
such Attacks could be commonplace.
Before
acceptance of the third-party application, Sina’s OAuth 2.0 system
makes the redirects appear more trustworthy and could potentially
increase the likelihood of successful Open Redirect Attacks of
third-party website.
Once
the user accepts the application, the attackers could completely bypass
Sina’s authentication system and attack more easily.
(2.2) One of webpages was used for the following tests. The webpage is “http://tetraphlike.lofter.com/“. Can suppose it is malicious and contains code that collect sensitive information of both third-party app and users.
Below is an example of a vulnerable third-party domain:
paidai.com
paidai.com
Vulnerable URL in this domain:
http://www.paidai.com/user/login.php?ref=http://tetraph.com/essayjeans/memories/%E9%9B%A8%E6%A2%A6%E9%9B%A8%E9%9F%B5.html
http://www.paidai.com/user/login.php?ref=http://tetraph.com/essayjeans/memories/%E9%9B%A8%E6%A2%A6%E9%9B%A8%E9%9F%B5.html
Vulnerable URL from Sina that is related to paidai.com:
https://api.t.sina.com.cn/oauth2/authorize?client_id=496934491&redirect_uri=http%3A%2F%2Fwww.paidai.com%2Fsiteuser%2Foauth_sina.php%3Ffrom%3Dweibo&response_type=code
https://api.t.sina.com.cn/oauth2/authorize?client_id=496934491&redirect_uri=http%3A%2F%2Fwww.paidai.com%2Fsiteuser%2Foauth_sina.php%3Ffrom%3Dweibo&response_type=code
(3) What is Covert Redirect?
Covert Redirect is a class of security bugs disclosed in May 2014. It is an application that takes a parameter and
redirects a user to the parameter value without sufficient validation.
This often makes use of Open Redirect and XSS (Cross-site Scripting)
vulnerabilities in third-party applications.
Covert Redirect is also related to single sign-on, such as OAuth and OpenID. Hacker may use it to steal users’ sensitive information. Almost all
OAuth 2.0 and OpenID providers worldwide are affected. Covert Redirect
can work together with CSRF (Cross-site Request Forgery) as well.
Discover and Reporter:
Wang Jing, Division of Mathematical Sciences (MAS), School of Physical and Mathematical Sciences (SPMS), Nanyang Technological University (NTU), Singapore. (@justqdjing)
http://tetraph.com/wangjing/
Wang Jing, Division of Mathematical Sciences (MAS), School of Physical and Mathematical Sciences (SPMS), Nanyang Technological University (NTU), Singapore. (@justqdjing)
http://tetraph.com/wangjing/
Related Articles:
http://tetraph.com/security/covert-redirect/sinas-oauth-2-0-covert-redirect
https://twitter.com/essayjeans/status/558976278854770688
http://diebiyi.com/articles/security/covert-redirect/sina-weibo-oauth-2-0
https://hackertopic.wordpress.com/2014/09/28/sina-exploit/
http://japanbroad.blogspot.jp/2014/09/sina-hacking.html
http://tetraph.blog.163.com/blog/static/23460305120144715917495/
http://homehut.lofter.com/post/1d226c81_7069918
http://xingti.tumblr.com/post/119489954830/securitypost-sicherheitslucke-in-oauth-2-0-und
https://infoswift.wordpress.com/2014/09/11/sina-bugs/
http://computerobsess.blogspot.com/2014/06/sina-web-service-attack.html
http://www.inzeed.com/kaleidoscope/covert-redirect/sinas-oauth-2-0-covert-redirect