可以說攻擊者擁有您的密碼。您登錄並重置它。如果重置並沒有使所有現有會話無效,那麼只要攻擊者不讓其會話過期,攻擊者仍然可以訪問。
在這種情況下,重置實際上沒有任何作用。
根據網站的工作情況,使用現在過期的密碼登錄也可能會出現問題。假設您的密碼用於解鎖某些東西,您使用“ password1”登錄,但是服務器現在將密碼另存為“ password2”,會發生什麼?這顯然是假設的,但希望可以說明這一點。
我想重定向到登錄屏幕只是一個建議。我不確定將用戶發送到哪裡很重要,但是從可用性的角度來看,將用戶發送到登錄頁面而不是首頁更有意義。
如果安全地更改了密碼後的會話管理,則無需實際重定向到登錄頁面。也就是說,只要所有當前會話標識符都無效並且當前會話附加到新的會話標識符(通常作為身份驗證cookie中的令牌發布-cookie僅發送到剛剛更改了密碼的會話),就可以不會威脅已經在帳戶中的攻擊者保持登錄狀態。
下面解釋了OWASP文章的基本原理。它的安全性沒有問題,但是存在一些可用性問題。
當用戶希望保護其帳戶安全時,經常使用密碼重置功能。
通過使所有密碼無效密碼重置後,如果現有會話已存在,則係統將確保只有擁有新密碼的人才能登錄。
例如,攻擊者使用舊密碼登錄了該帳戶,重置所有會話將註銷攻擊者。
為什麼我要註銷當前用戶,我聽到你問?
好說攻擊者正在使用當前用戶的會話,例如使用會話修復漏洞。這意味著攻擊者與真實用戶具有相同的會話。重置當前會話還可以確保該帳戶上沒有任何人沒有訪問權限。
重定向到上面引用中的登錄頁面實際上是在描述您應該註銷用戶的事實。當前會話和所有會話(但不存在阻止您將它們放入具有新標識符的新會話中的風險)。
從netsec的角度來看,其他答案可能更正確,但是我想補充一點,您還可以確保用戶實際上能夠使用其新密碼登錄。如果出現問題(例如瀏覽器自動填充舊密碼),這將很明顯。
它還可以防止用戶使用密碼重置作為登錄名。在我的一個帳戶上,回答安全問題比記住密碼更容易,因為每次重置密碼時我都必須設置一個唯一密碼,並且忘記了密碼。
只有一種與安全性相關的原因可以將您發送到登錄頁面,因為所有舊會話都可以失效,並且您當前的活動會話已將密碼更改為自動替換: >它使使用密碼重置進行登錄更加麻煩,從而使您使用它的頻率降低,從而更安全地防止它被竊聽和意外洩露。
還有一個可用性原因 for 發送給您:確保您可以實際使用新密碼,並且瀏覽器中的所有密碼緩存都將得到更新。
如果允許用戶使用瀏覽器存儲密碼,則將用戶重定向到登錄頁面將使瀏覽器可以在該頁面捕獲新密碼。否則,下一次用戶登錄瀏覽器時,將使用舊密碼“有效地”預填充密碼字段-如果用戶不了解正在發生的情況,此操作可能會引起混亂。
如果我們繼續關注安全對策,這非常簡單。實際上,這將使您所有活動的會話以及造成麻煩的竊取設備失效。
除了提供一種用於建立新的有效會話的簡便機制,驗證新密碼是否有效以及註銷當前會話外,還具有使用戶第三次輸入密碼的額外好處,從而使操作更加輕鬆要記住。
除了此處提到的許多其他要點外,從可維護性/強化/審計的角度來看,將會話創建機制限制為僅一個入口點是有益的。
用戶在即使在跳過任何具有身份證明箍的恢復證明之後,鎖定狀態也不一定要視為已登錄用戶,否則在進行審核/筆測試時還需要測試其他順序。
重置密碼後立即再次登錄
a),您比三天后更容易記住3秒鐘的密碼。
b),然後您的瀏覽器可以詢問用戶是否要使用新密碼更新保存的密碼,然後瀏覽器會在登錄頁面上記住該密碼。