Facebook存在中間人攻擊隱患
這次的漏洞其實(shí)和前一陣爆出的,Open URL Redirection漏洞相似,并不能直接對Facebook的用戶造成危害。這次攻擊的描述主要針對于盜取用戶access token,可見移動(dòng)端的安全也越來越被研究者和黑可關(guān)注。
正文
埃及滲透測試工程師Ahmed Elsobky發(fā)現(xiàn)facebook存在一個(gè)嚴(yán)重漏洞,這個(gè)漏洞可以造成用戶的access token被泄露。黑客使用中間人攻擊的手法利用這個(gè)漏洞。
Facebook的安全團(tuán)隊(duì)聲稱:“我們在不久前也收到過關(guān)于這個(gè)漏洞的其他安全團(tuán)隊(duì)的報(bào)告,之后,在我們的官方應(yīng)用上我們修正了這個(gè)漏洞,而其他應(yīng)用想要避免這個(gè)漏洞,必須使用HTTPS來進(jìn)行連接。不過能做到這樣非常困難。
與之前我們在Facebook發(fā)現(xiàn)的Open URL Redirection url 漏洞類似,這個(gè)漏洞影響到facebook的一些第三方APP,使用這些應(yīng)用的用戶的access token都會(huì)受到威脅,利用這個(gè)漏洞黑客可以獲取到access token以及一些關(guān)于access token的信息(比如,過期時(shí)間,由哪個(gè)APP生成)。取得access token之后,黑客可以得到受害者數(shù)據(jù)的訪問權(quán)限,并可以在受害者不知情的情況下模擬用戶操作。Ahmed Elsobky 在2013年9月5號報(bào)告了這個(gè)漏洞,這個(gè)漏洞的利用前提如下。
(1)受害者必須使用了Fackbook的APP,而且這個(gè)APP是預(yù)授權(quán)的。
(2)受害者必須已經(jīng)登陸,且攻擊者有條件發(fā)動(dòng)中間人攻擊。
我們假設(shè)受害者在使用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參數(shù)會(huì)根據(jù)它的值來進(jìn)行一個(gè)302轉(zhuǎn)跳,只要把a(bǔ)ccess token附帶到url中一起傳輸即可。
一般情況下攻擊者可以使用這條語句作為redirect_uri的參數(shù)
http%3A%2F%2Fwww.facebook.com%2Fconnect%2Flogin_success.html&response_type=token&client_id=[app_id]
這樣的話雖然前面使用了HTTPS但是,后面參數(shù)構(gòu)成的轉(zhuǎn)跳地址卻是HTTP。
用戶可以使用HTTPS來預(yù)防中間人攻擊。Ahmed Elsobky也給用戶提了幾條建議
(1)使用“HTTPS Everywhere” 瀏覽器插件。(https://www.eff.org/https-everywhere)
(2)不要使用不支持SSL的應(yīng)用,因?yàn)镠TTPs基于SSL。
原文地址:http://securityaffairs.co/wordpress/22970/hacking/facebook-access-token-mitm.html