這個漏洞技術有點低,Gmail可被窮舉出大量郵箱地址

近日一位網名為「x0rz」的安全研究人員在某0day網站聲稱,他發現了Google的一個小漏洞,可以大批量猜解存活的Google賬戶。

漏洞描述

谷歌伺服器上存在一個不限流的URL, mail.google.com/mail/gx。如果提交一個不存在的用戶名或郵箱地址將會觸發伺服器返回一個異常的響應頭。例如,提交一個有效賬戶響應如下:

$ curl -v https://mail.google.com/mail/gxlu?email=<valid_account>[...]< HTTP/1.1 204 No Content< Cache-Control: no-cache, no-store, max-age=0, must-revalidate< Pragma: no-cache< Expires: Mon, 01 Jan 1990 00:00:00 GMT< Date: Thu, 02 Mar 2017 11:43:10 GMT< Server: GSE< Set-Cookie: S=gmail=ilixOdEvDf9fbi2w4OYwRIQkpUcwCKK6; Expires=Thu, 02-Mar-2017 12:43:10 GMT; Path=/mail; Secure; HttpOnly< Set-Cookie: COMPASS=gmail=CmYACWuJVycLtY31gmk6cAgFQBfuovcN3rfKw05y2kngwptEGIyez478x5O1fJW-dxF4sDChgHulPqu5kDjgCnEQGi0egQkahglkL6Hl5ANZ-v4zRnzWdYxjtZ_8aV6bhAs8w2uH1X8Ql6fgxQUabwAJa4lX4mDPO08mNP4srg8ScUYXcW-bcdfx7U78Xa2IgEGwfn2EZPlDFm5B1b97cyOzPhliiPGhdsfb0PQysYCiVIw2sVb-Ayyq1-S6aFlcsPpwru06Kh64grTP3ZMLSaCE5hF_gjDTXxZ4Xl0S0Q; expires=Sun, 12-Mar-2017 11:43:10 GMT; path=/mail; Secure; HttpOnly< Alt-Svc: quic=":443"; ma=2592000; v="35,34"

提交一個不存在的賬戶,響應頭則是這樣的:

$ curl -v https://mail.google.com/mail/gxlu?email=<do_not_exist>[...]< HTTP/1.1 204 No Content< Cache-Control: no-cache, no-store, max-age=0, must-revalidate< Pragma: no-cache< Expires: Mon, 01 Jan 1990 00:00:00 GMT< Date: Thu, 02 Mar 2017 11:42:08 GMT< Server: GSE< Alt-Svc: quic=":443"; ma=2592000; v="35,34"

這兩個請求都會返回HTTP 204(no content)響應,但是存在賬戶的請求所返回的內容中應當有Set-Cookie項。

猜解有效地址

「x0rz」隨後用python寫了一個腳本來暴力窮舉可能存在的有效Google賬戶。主要思路是用窮舉法批量生成類似 firstname.lastname@gmail.com 的郵箱地址,然後逐個提交驗證。這個方法非常粗暴直接,主要難點在於如何生產大量的賬戶數據。「x0rz」使用兩種方法來生成賬戶:一種是利用從Facebook上抓取的人名數據和一份2010年網上流出的類似數據表來批量生成賬戶;另一種方法更簡單,直接通過randomuser.me來生成人名。儘管該「POC」非常粗糙且未經優化,「x0rz」用他的腳本每天大概可以猜解出40,000個有效的郵箱地址。

帶來的危害

在正常情況下,大部分郵箱地址都是非公開的,人們都想有自己的隱私,都不希望自己的郵箱被垃圾郵件塞滿。

暴力窮舉可以很輕易的被限制,防範的方法也很簡單:如通過驗證碼驗證,限制流量等等。Google的大部分服務都提供了諸如此類的防護,舉個例子,如果你通過Tor訪問Google,那麼幾乎所有的地方都會要求你輸入驗證碼。

一個非公開郵箱地址被猜到/破解的幾率有多大?

「x0rz」使用haveibeenpwned.com 網站提供的API進行了測試,測試一個隨機生成的或者真實有效的郵箱地址有多大幾率出現在某個泄漏的賬號資料庫中,測試結果表明這個幾率並不大。只有 8.41%的被測郵箱地址出現在此類資料庫中。 值得一提的是,「x0rz」用來測試的郵箱地址中有很多已經不是活躍賬戶了,甚至包括一些未啟用過的地址。「x0rz」給出了一個郵箱地址出現在某個賬號資料庫中的幾率:

- River City Media Spam List (4,98%)

- SC Daily Phone Spam List (2,63%)

- LinkedIn (2,46%)

- Dropbox (1,52%)

- MySpace (1,37%)

- Adobe (1,33%)

- Modern Business Solutions (1,14%)

- Special K Data Feed Spam List (1,01%)

- Tumblr (0,73%)

- Last.fm (0,51%)

可能的影響

該bug可能會被居心不良的人利用:如成為廣告推銷的目標,更糟糕的情況下可能會被「釣魚」欺詐甚至遭到敲詐勒索軟體的攻擊。

最後,「x0rz」在文末貼出了Google 對該漏洞的回應時間線,看得出來他對Google的回應很不滿意!

時間線

02/03/2017 14:54:00 (UTC+1): 就此漏洞聯繫Google

02/03/2017 17:13:00 (UTC+1): Google 回應 「你提交的報告已經通過初步審核,我們正在進行進一步調查。」

02/03/2017 17:27:00 (UTC+1): Google 回應 「決定將該漏洞轉到處理類似問題的小組」

22/03/2017 00:56:00 (UTC+1): Google 回應 「我們沒有忘記你的報告;我們仍然在進行調查,幾天之後會給你答覆。」

31/03/2017 16:29:00 (UTC+1): Google 作出認定,這不能算作bug。ˉ_(ツ)_/ˉ

如若轉載,請註明原文地址: 這個漏洞技術有點低,Gmail可被窮舉出大量郵箱地址 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

國內郵箱哪個好?
為什麼這麼多人說 Gmail 好用?Gmail 和 QQ 郵箱相比到底好在哪裡?
為什麼 Gmail 在國內連接不暢,卻有很多人極力推崇,甚至鄙視其他郵箱?
Gmail有多安全?

TAG:信息安全 | Gmail |