2008-11-19 42 views
2

Joomla在其登錄屏幕上有一個內置功能「我忘記了我的用戶名」,以便您可以輸入您的電子郵件地址,並通過電子郵件將用戶名發送給您。暴露電子郵件地址和用戶名的安全風險?

我想改變它,以便用戶名立即顯示在屏幕上,沒有任何形式的身份驗證。這將大大減少我們的用戶在很長一段時間後返回的摩擦,但它允許任何人輸入任何電子郵件地址並查看關聯的用戶名(但絕對不是其他方式)。

這是否會造成安全隱患?這是一個好主意嗎?

回答

2

我會說這是一個輕微您的不那麼聰明的用戶的安全風險。對於密碼較弱的用戶,特別是與用戶名或電子郵件地址相關的用戶,暴露他們的用戶名會導致他們打開帳戶以劫持他們的帳戶。除此之外,我想不出有什麼問題。如果用戶具有良好的密碼,則完全不重要。

我想有一個輕微的匿名問題。舉個例子,在一個論壇上,我不想讓「知道」我的人在沒有我告訴他們的情況下找到我的用戶名。在這種情況下,他們可以收到我的電子郵件並獲得它。但是否這是一個問題取決於您的網站和用戶羣。

8

當前的實現需要用戶自己自己的的電子郵件地址,並閱讀所產生的電子郵件,以檢索用戶名。

您的實施允許攻擊者立即知道哪個用戶名連接到了電子郵件地址。所以如果攻擊者知道一個人的用戶名,可以猜測電子郵件地址。

更糟糕的是,假設攻擊者知道密碼而不知道電子郵件地址。在成功猜測電子郵件地址後,可以合理猜測電子郵件帳戶的密碼與您網站的密碼類似。因此,您已幫助攻擊者劫持電子郵件帳戶,其中可能包含更多關於附加帳戶的信息,等等。

通常,更改任何與安全相關的功能以使事情比標準實現「更容易」可能會帶來安全風險。實施前通過SO進行研究+1!

+0

但是,如果'黑客'獲得了用戶的密碼和電子郵件地址,那麼用戶已經徹底洗過,而且他們會處於相同的位置,無論我在談論什麼變化? – nickf 2008-11-19 04:01:31

3

乍一看,這似乎是一個「壞主意」,因爲你允許任何人:

  1. 驗證存在的帳戶
  2. 確認用戶名和電子郵件地址之間的關聯

如果用戶名和郵件地址在您的網站上被視爲「私人」信息並且尚未共享,那麼我不會通過電子郵件功能實現用戶名查找。實際上你是1個因數降低安全欄:

  • Currrently,查找的用戶名既需要電子郵件地址和用戶的完整的郵件憑證(這樣他們就可以拿起回覆)
  • 變更後,他們需要的只是郵件地址。

也許更重要的是,您創建了需要解決的隱私問題(如@SoapBox所述)。

但實際上,您的網站可能已經使用「用戶名」作爲公共句柄或暱稱。而且您可能已經有用戶在其個人資料中發佈其電子郵件。如果是這種情況,用戶名查找不會泄露任何新信息,並且您可能會認爲沒有新的安全或隱私問題被創建。

這將讓這一切有點太雖然容易,像發佈腳本小子指南如何破解我的網站

  1. 從您的首選供應商獲取電子郵件地址列表
  2. 來吧到我的自助郵件到用戶名翻譯頁面並通過(簡單腳本爲此)運行列表
  3. 使用所得用戶名列表在網站上發起字典攻擊

底線 - 我認爲你最好現在就離開這個功能。

相關問題