2015-05-29 50 views
2

我有一個問題。當其中一個憑據錯誤(如用戶名或密碼)時,爲什麼Gmail會輸出類似The email and password that you entered don't match的消息。爲什麼他們不扔,這將是很容易理解的用戶喜歡的錯誤:爲什麼Gmail沒有指出在登錄失敗時是否是不正確的用戶名或密碼?

  1. 如果用戶名是有效的,但不是密碼,那麼它應該拋出一個 消息像Password does not match.

  2. 如果密碼有效,但不是用戶名,那麼它應該拋出 消息,如Username does not match.

爲什麼他們在每種情況下都會拋出類似The email and password that you entered don't match的消息?

在拋出錯誤消息時是否存在安全問題?

+0

問題已回答,或者您想讓我詳細說明一下我的(並舉例說明)? – Juxhin

回答

3

事實上,new Gmail login page does not do that - 它要求你在步驟1中輸入您的用戶名,然後你在步驟2中

如果您揭示是否存在一個賬戶你打開一個username enumeration漏洞密碼。

作爲一個攻擊者,如果我可以用你的賬號或忘記密碼的頁面 縮小10000個目標我的名單到1000個的目標,我會:攻擊者在密碼中使用猜測或網絡釣魚的攻擊,這非常有用。

請注意,某些系統(例如Gmail或Facebook)的用戶名被視爲公共名稱,因此這不屬於特別高風險的漏洞。但是,如果您運行「約翰的約會網站」(或Ashley Madison),並且Alice可以通過嘗試使用Bob的電子郵件作爲用戶名的登錄表單來查明她的丈夫Bob是否是會員,那麼您有隱私問題在你的手上。有趣的寫在這裏:Your affairs were never discreet – Ashley Madison always disclosed customer identities。他們修正了他們的用戶枚舉錯誤,但不完全。

此外,你所做的第二點是不可能的。如果用戶輸入了無效的用戶名,但輸入了有效的密碼,則認證系統將無法確定密碼是否正確,因爲它不知道驗證用戶名。即使它可以,揭示至少有一個用戶擁有該密碼將是一個安全問題。

+0

@Rahul - 看看SilverlightFox的回答以及他提出的重要隱私問題 – Juxhin

1

是啊我會想象如果他們說某個用戶名是有效的那麼該用戶名可以被定位爲黑客。

2

因爲那個錯誤信息太冗長了,並且幫助黑客通過系統,如果他對登錄頁面進行暴力破解(因爲他知道哪個字段是正確的)。極不願意給出詳細的錯誤信息,如Username is correct however password does not match。注 - 並不一定意味着黑客只會通過系統暴力破解;當Web應用程序返回詳細錯誤時,bruteforce恰好是一種常用方法。

相關問題