Protezione delle sessioni su un account possibilmente compromesso
Non è necessario reindirizzare effettivamente la pagina di accesso se la gestione della sessione al cambio della password avviene in modo sicuro. Cioè, a condizione che tutti gli identificatori di sessione correnti siano invalidati e che la sessione corrente sia collegata a un nuovo identificativo di sessione (solitamente emesso come token in un cookie di autenticazione - il cookie viene inviato solo alla sessione che ha appena modificato la password) allora non c'è il rischio che un utente malintenzionato sia già presente nell'account di rimanere connesso.
Articolo OWASP
La logica dietro l'articolo OWASP è spiegata di seguito. Non c'è nulla 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 tutte le sessioni esistenti al ripristino della password, il sistema si sta assicurando 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 abbia effettuato l'accesso. La reimpostazione di tutte le sessioni registrerà l'autore dell'attacco.
Perché disconnettersi dall'attuale utente, ti sento chiedere?
Diciamo che l'attaccante sta cavalcando la sessione dell'utente corrente, ad esempio utilizzando una vulnerabilità risoluzione della sessione . Ciò significa che l'utente malintenzionato ha la stessa sessione dell'utente reale. La reimpostazione della sessione corrente assicurerà anche che nessuno si trovi sull'account a cui non si intende accedere.
Il reindirizzamento alla pagina di accesso nella tua citazione sopra descrive in realtà il fatto che devi disconnettere l'utente dalla sessione corrente e da tutte le sessioni (ma non vi è alcun rischio di fermarti lasciandoli in una nuova sessione con un nuovo identificatore ).