Facebook受邀者的郵箱地址披露

當Facebook只是一家只有幾個成員的小公司時,它須要一種方法來得到更多的成員,使用Facebook的邀請系統來邀請你的朋友。ide

最先的廣告發布是在主流的網站上手動發佈廣告(好比用Google),或讓您的成員使用其電子郵件賬戶邀請其朋友。學習

如今Facebook成長起來,當您想要更多的網站訪問者時,你會在Facebook上作廣告,由於每一個人都在那裏。網站

Facebook的邀請系統:
當用戶在初期加入Facebook時,幾乎看不到任何東西。所以,Facebook要求其成員使用由註冊用戶建立的電子郵件來邀請其朋友。翻譯

用戶提供了他的朋友的電子郵件地址,他們從Facebook收到了一封電子郵件,說「 你好啊,你的朋友如今在Facebook上,歡迎您也加入Facebook!」。blog

有趣的部分:
當我遇到Facebook的這一功能時,我當即開始對其進行分析。我想,若是以用戶A的身份邀請他們加入,並試圖愚弄他們,那就太好了,儘管這樣作的人是用戶B。it

當我不斷地邀請人們時,我注意到了一些有趣的事情:每一個到特定電子郵件地址的邀請中都包含一個邀請ID:ent_cp_id。
Facebook受邀者的郵箱地址披露
單擊「邀請到Facebook」時,會彈出一個小窗口,並顯示被邀請者的完整電子郵件地址。惡做劇的同時發現了邀請的時候會顯示完整的電子郵件地址。
Facebook受邀者的郵箱地址披露
我寫了一封邀請信,而且邀請了個人一位好友。class

這時我在思考:ent_cp_id是控制邀請郵件的,我已經邀請了這個用戶,他的ent_cp_id應該不能再訪問了。但我錯了。它的ent_cp_id還在那裏。事實上,只要從新傳輸HTTP請求,我就能夠再次邀請相同的用戶。互聯網

可是這個漏洞最有趣的部分是,任何用戶均可能看到ent_cp_id後面的電子郵件地址。
這意味着,任何經過電子郵件被邀請到Facebook的人都很容易受到電子郵件地址泄露的影響,由於該邀請從未被刪除,並且任何用戶均可以訪問它。***者接下來要作的就是隨機猜想ent_cp_id。正如我所說,以前的ent_cp_id沒有被刪除,因此成功率很高。請求

總結
當您處理敏感信息(例如電子郵件地址)時,應始終限制能夠執行某項操做的次數。另外,建議擦除可能連接到該敏感信息的任何ID,或者至少對其進行哈希保護。
Facebook很快解決了這個問題,並給予了賞金。方法

翻譯自medium.com免責申明:本文由互聯網整理翻譯而來,僅供我的學習參考,若有侵權,請聯繫咱們,告知刪除。

相關文章
相關標籤/搜索