人人网 (renren.com) 网站 OAuth 2.0 隐蔽重定向 (Covert Redirect) 网络安全漏洞 (信息泄漏 & 公开重定向)

renren-xiaonei

 

人人网 (renren.com) 网站 OAuth 2.0 隐蔽重定向 (Covert Redirect) 网络安全漏洞 (信息泄漏 & 公开重定向) 





(1) 域名:
renren.com


“人人网是中国领先的实名制社交网络平台。人人网在用户数、页面浏览量、访问次数和用户花费时长等方面均占据优势地位。用户可以在这一平台上相互交流,分 享信息和用户自创内容,玩在线游戏,听音乐,参与团购,并享受一系列其它服务。2015年1月30日,人人网发消息称将下线站内信功能。" (百度百科)







(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) 漏洞细节:

Renren 的 OAuth 2.0 系统可能遭到攻击。更确切地说, Renren 对 OAuth 2.0 系统的 parameter “&redirect_uri“ 验证不够充分。可以用来构造对 Renren 的 URL跳转 攻击。

 

与此同时,这个漏洞可以用下面的参数来收集第三方 App 和 用户 的敏感信息(敏感信息包含在 HTTP header里),

“&response_type"=sensitive_info,token,code…a

“&scope"=get_user_info,email…

 

它也增加了对第三方网站 URL跳转 攻击的成功率。

 

漏洞地点 “/oauth/grant?",参数"&redirect_uri", e.g.

http://graph.renren.com /oauth/grant?client_id=7e7b2e3482954a5a84403d718e563c30& response_type=code&display=page& scope=read_user_blog+read_user_checkin+read_user_feed+read_user_guestbook+read_user_invitation+read_user_like_history+read_user_message+read_user_notification+read_user_photo+read_user_status+read_user_album+read_user_comment+read_user_share+read_user_request+publish_checkin+publish_blog+publish_feed+publish_share+write_guestbook+send_invitation+send_request+send_message+send_notification+photo_upload+status_update+create_album+publish_comment+operate_like+email& amp;secure=true&origin=00000&x_renew=true& redirect_uri=http://store.tv.sohu.com/web/login.do?bru=http: //tetraph.com/essayjeans/seasons/祭春.html [1]

 

 

同意三方 App 前:

当一个已经登录的 Renren 用户点击上面的 URL ([1]), 对话框会询问他是否接受第三方 App 接收他的信息。如果同意,他会被跳转到 参数 “&redirect_uri" 的 URL。

 

如果没有登录的Renren 用户点击 URL ([1]), 他登录后会发生同样的事情。

 

同意三方 App 后:

已经登录的 Renren 用户 不会再被询问是否接受 三方 App。当他点击 URL ([1]) 时,他会被直接跳转到攻击者控制的页面。

 

如果 Renren 用户没有登录,攻击依然可以在要求他登录的Renren的对话框被确认后完成(这个过程不会提示任何和三方 App 有关的内容)。

 

 

 

(2.1.1) Renren 一般会允许属于已被验证过得三方 App domain 的所有 URLs。 然而,这些 URLs 可以被操控。比如,参数 “&redirect_uri" 是被三方 App 设置的,但攻击者可以修改此参数的值。

 

因此,Renren 用户意识不到他会被先从 Renren 跳转到第三方 App 的网页,然后从此网页跳转到有害的网页。这与从 Renren 直接跳转到有害网页是一样的。

 

因为 Renren 的 OAuth 2.0 客户很多,这样的攻击可以很常见。

 

在同意三方 App 之前,Renren 的 OAuth 2.0 让用户更容易相信被跳转的页面是安全的。这增加了三方 App 被 URL跳转 攻击的成功率。

 

同意三方 App 后, 攻击者可以完全绕过 Renren 的 URL跳转 验证系统。

 

 

 

(2.2) 用一个页面进行了测试, 页面是 “http://mathdaily.lofter.com/“. 可以假定它是有害的,并且含有收集三方 App 和用户敏感信息的 code。

 

下面是一个有漏洞的三方 domain:
sohu.com

 

这个 domain 有漏洞的 URL:
http://store.tv.sohu.com/web/login.do?bru=http://tetraph.com/essayjeans/seasons/祭春.html

 

Renren 与 sohu.com 有关的有漏洞的 URL:
http://graph.renren.com/oauth/grant?client_id=7e7b2e3482954a5a84403d718e563c30&response_type=code&display=page&scope=read_user_blog+read_user_checkin+read_user_feed+read_user_guestbook+read_user_invitation+read_user_like_history+read_user_message+read_user_notification+read_user_photo+read_user_status+read_user_album+read_user_comment+read_user_share+read_user_request+publish_checkin+publish_blog+publish_feed+publish_share+write_guestbook+send_invitation+send_request+send_message+send_notification+photo_upload+status_update+create_album+publish_comment+operate_like+email&secure=true&origin=00000&x_renew=true&redirect_uri=https://passport.sohu.com/openlogin/callback/renren

 

 

POC:
http://graph.renren.com /oauth/grant?client_id=7e7b2e3482954a5a84403d718e563c30& response_type=code&display=page& scope=read_user_blog+read_user_checkin+read_user_feed+read_user_guestbook+read_user_invitation+read_user_like_history+read_user_message+read_user_notification+read_user_photo+read_user_status+read_user_album+read_user_comment+read_user_share+read_user_request+publish_checkin+publish_blog+publish_feed+publish_share+write_guestbook+send_invitation+send_request+send_message+send_notification+photo_upload+status_update+create_album+publish_comment+operate_like+email& amp;secure=true&origin=00000&x_renew=true& redirect_uri=http://store.tv.sohu.com/web/login.do?bru=http: //tetraph.com/essayjeans/seasons/祭春.html

 



POC 视频:
https://www.youtube.com/watch?v=D-X8qAO2q_I


博客细节:
http://tetraph.blogspot.com/2014/05/renrencom-oauth-20-covert-redirect.html








(3) 什么是隐蔽重定向? 

隐蔽重定向 (Covert Redirect) 是一个计算机网络安全漏洞。这个漏洞发布于 2014年5月。漏洞成因是网络应用软件对跳转到合作者的跳转没有充分过滤。这个漏洞经常利用第三方网站 (包括合作网站) 的公开重定向 (Open Redirect) 或者 跨站脚本漏洞 (XSS – Cross-site Scripting) 问题。

隐蔽重定向也对单点登录 (single sign-on) 有影响。最初发布的是对两款常用登录软件 OAuth 2.0 和 OpenID 的影响。黑客可以利用真实的网站进行网络钓鱼,从而窃取用户敏感信息。几乎所用提供 OAuth 2.0 和 OpenID 服务的网站都被影响。隐蔽重定向还可以和 跨站请求伪造 (CSRF – Cross-site Request Forgery) 一起利用。它的 scipID ID 是 13185; OSVDB ID 是 106567;  Bugtraq ID 是 67196;  X-Force ID 是 93031。



Leave a comment

你的電子郵件位址並不會被公開。 必要欄位標記為 *

你可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>