我們有這被標記爲這個忘記密碼頁面上的安全問題,用戶名:防止攻擊者獲得系統
ISS-0003938的Web檢查中打開可疑文件發現在 遞歸目錄*** ***從網絡中刪除任何不必要的頁面 服務器如果需要任何文件限制訪問那些不應該公開訪問的文件 刪除任何備份文件和 在服務器上進行開發測試的臨時文件請 刪除備份文件備用登錄文件,包含 功能的文件調整和任何開發人員使用的簡短文件。
被標記的文件是/js/pmailer_minimal.js
原因,因爲在.js
文件中有以下內容。
url: URL + '/login/forgot-password/request/'+ username,
通過使用信息攻擊者就能夠開始列舉的用戶名,直到他們得到的響應成功消息。
該問題的最佳解決方案是什麼?我們會改變我們的迴應嗎?我們是否限制重試次數?還有什麼其他解決方案?
還應該考慮的是,如果攻擊者擁有用戶名,他可以嘗試進行暴力攻擊。
我在尋找儘可能多的建議來解決這個威脅。
這是提出的建議之一,我只是想對此事做更多的研究。任何其他想法? – Albert
那麼,用戶名是公共部分,所以我不會太擔心。另一種選擇是使用簡單的驗證碼和不使用JavaScript的系統。例如,可以使用PHP提供的表單處理程序,使用表單驗證碼,並檢查引用者是否爲有效的「忘記密碼」頁面。 –
這是糟糕的用戶體驗,因爲許多用戶會錯誤輸入或誤解用戶名。然後,他們面臨着無限期地等待郵件發送失敗或被垃圾郵件過濾器捕獲的問題。由於您的電子郵件地址是有記錄的,因此可以選擇提供其電子郵件地址而不是用戶名。然後,您可以向他們發送一封電子郵件,通知他們未註冊該電子郵件地址,以便他們可以採取進一步措施解決問題。 – Jim