Facebook存在中间人攻击隐患

4vxdsrm3gb0

写在前面

这次的漏洞其实和前一阵爆出的,Open URL Redirection漏洞相似,并不能直接对Facebook的用户造成危害。这次攻击的描述主要针对于盗取用户access token,可见移动端的安全也越来越被研究者和黑可关注。

正文

埃及渗透测试工程师Ahmed Elsobky发现facebook存在一个严重漏洞,这个漏洞可以造成用户的access token被泄露。黑客使用中间人攻击的手法利用这个漏洞。

Facebook的安全团队声称:“我们在不久前也收到过关于这个漏洞的其他安全团队的报告,之后,在我们的官方应用上我们修正了这个漏洞,而其他应用想要避免这个漏洞,必须使用HTTPS来进行连接。不过能做到这样非常困难。

与之前我们在Facebook发现的Open URL Redirection url 漏洞类似,这个漏洞影响到facebook的一些第三方APP,使用这些应用的用户的access token都会受到威胁,利用这个漏洞黑客可以获取到access token以及一些关于access token的信息(比如,过期时间,由哪个APP生成)。取得access token之后,黑客可以得到受害者数据的访问权限,并可以在受害者不知情的情况下模拟用户操作。Ahmed Elsobky 在2013年9月5号报告了这个漏洞,这个漏洞的利用前提如下。

(1)受害者必须使用了Fackbook的APP,而且这个APP是预授权的。

(2)受害者必须已经登陆,且攻击者有条件发动中间人攻击。

我们假设受害者在使用Skype,攻击者在受害者浏览的页面中插入如下代码。就可以获取到受害者的access token。

<iframe src=https://www.facebook.com/dialog/oauth?redirect_uri=http%3A%2F%2Flogin.skype.com%2Flogin%2Foauth%3Fapplication%3Daccount&client_id=260273468396&response_type=token width=0 height=0>

facebook URL中的redirect_uri参数会根据它的值来进行一个302转跳,只要把access token附带到url中一起传输即可。

一般情况下攻击者可以使用这条语句作为redirect_uri的参数

http%3A%2F%2Fwww.facebook.com%2Fconnect%2Flogin_success.html&response_type=token&client_id=[app_id]

这样的话虽然前面使用了HTTPS但是,后面参数构成的转跳地址却是HTTP。

用户可以使用HTTPS来预防中间人攻击。Ahmed Elsobky也给用户提了几条建议

(1)使用“HTTPS Everywhere” 浏览器插件。(https://www.eff.org/https-everywhere)

(2)不要使用不支持SSL的应用,因为HTTPs基于SSL。

Facebook存在中间人攻击隐患:等您发表观点!

发表评论


快捷键:Ctrl+Enter