Protezione delle sessioni su account potenzialmente compromessi
Non è necessario reindirizzare effettivamente alla pagina di accesso se la gestione della sessione al momento della modifica della password viene eseguita in modo sicuro. Cioè, fintanto che tutti gli identificatori di sessione correnti sono invalidati e la sessione corrente è allegata a un nuovo identificatore di sessione (solitamente emesso come token in un cookie di autenticazione - il cookie viene inviato solo alla sessione che ha appena cambiato la password), allora lì non c'è il rischio che un utente malintenzionato che è già nell'account rimanga connesso.
Articolo OWASP
La logica alla base dell'articolo OWASP è spiegata di seguito. Non c'è niente di sbagliato nell'aspetto della sicurezza, tuttavia ci sono alcuni problemi di usabilità.
La funzionalità di reimpostazione della password viene spesso utilizzata quando un utente desidera proteggere il proprio account.
Invalidando tutto sessioni esistenti al momento della reimpostazione della password, il sistema si assicura che solo la persona con la nuova password possa accedere.
Supponiamo, ad esempio, che un utente malintenzionato che ha ottenuto l'accesso all'account utilizzando la vecchia password sia loggato . Il ripristino di tutte le sessioni disconnetterà l'attaccante.
Perché disconnettere l'utente corrente, ho sentito che lo chiedi?
Bene, dì che l'attaccante sta cavalcando la sessione dell'utente corrente, ad esempio utilizzando una vulnerabilità di riparazione della sessione. Ciò significa che l'attaccante ha la stessa sessione dell'utente reale. La reimpostazione della sessione corrente assicurerà inoltre che sull'account non sia presente nessuno che non sia destinato ad avere accesso.
Il reindirizzamento alla pagina di accesso nel preventivo sopra descrive in realtà il fatto che è necessario disconnettere l'utente della sessione corrente e di tutte le sessioni (ma non vi è alcun rischio di impedirti di rilasciarle in una nuova sessione con un nuovo identificatore).