Facebook存在中間人攻擊隱患
這次的漏洞其實和前一陣爆出的,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。
原文地址:http://securityaffairs.co/wordpress/22970/hacking/facebook-access-token-mitm.html