用IP輪換+暴力猜解禁用未確認的Facebook賬戶
- 2019 年 12 月 23 日
- 筆記
早前的賬戶創建確認漏洞
在2014年Facebook曾針對該漏洞做過修復。當時的漏洞情況是這樣的:如果你用個人郵箱註冊一個Facebook賬戶,創建完成之後,Facebook會向你的郵箱發送一個5位數確認碼郵件,但出於個人郵箱被惡意註冊的安全原因考慮,Facebook還會在郵件末尾附加上一個「未曾註冊過Facebook」的選項按鈕,以便讓那些個人郵箱被惡意註冊的用戶提交上報Facebook。如下:

提交之後,會產生以下鏈接:
https://www.facebook.com/[email protected]&c=5-DIGIT-CODE&report=1
移動端對應的是:
https://m.facebook.com/[email protected]&c=5-DIGIT-CODE&report=1&message=1
漏洞原因在於,其中的 c 參數,也就是Facebook發送過來的一個5位數確認碼,可以被攻擊者暴力破解猜測到,因此可導致攻擊者用此種方式去禁用任何未及時確認的Facebook新註冊賬戶。該漏洞已於2014年10月被Facebook修復。
現在存在的問題
通過測試分析,作者發現該路徑下設置了訪問頻率限制(Rate limit),針對5位數確認碼做暴力猜解時會被Facebook阻攔掉。如下:

我猜想Facebook之前的修復策略如果是基於IP的限制方法的話,我可以通過變換IP地址來進行暴力猜解啊。果然,當我變換新的IP地址再進行進行暴力猜解之後,Facebook完全不會實施阻攔。

為了更順利的實施這種暴力猜解工作,需要對每次請求的IP地址都做出變化,也即IP輪換。為了綜合利用IP輪換+暴力猜解,我Google了一些在線資料,並最終用Luminati+Burp搭建了一個測試環境,完美繞過了Facebook後端限制,並有效地猜測出Facebook5位數確認碼,實現對Facebook未確認賬戶的禁用。
漏洞影響
1、對於受害者用戶來說,如果攻擊者以此方式禁用了它的Facebook賬戶,那麼由於其郵箱地址已經被Facebook列入黑名單,所以受害者在今後就無法用該郵箱註冊Facebook賬戶了; 2、另外,如果攻擊者知道受害者用戶的確切註冊郵箱,即使用戶已經經過了Facebook確認,但一樣能通過此種方式去舉報受害者用戶郵箱,形成賬戶濫用提交,後期可由Facebook對受害者的Facebook賬戶實現禁用,整個過程無需與用戶進行任何交互。
漏洞上報及處理進程
2019.6.30 : 漏洞初報 2019.7.3 : Facebook深入確認 2019.8.23: Facebook完成修復 2019.8.23 : Facebook獎勵了$1000
*參考來源:medium,clouds 編譯整理,轉載請註明來自 FreeBuf.COM