È sicuro riutilizzare il token CSRF dal cookie esistente (per una nuova scheda nel browser)?

1

Abbiamo un sistema che fa richiesta asincrona al back-end per ottenere CSRF (tramite AJAX). La risposta dal server è un nuovo cookie e un'intestazione che ricordiamo in javascript e utilizzeremo in seguito.

Funziona tutto bene finché non apriamo due schede, quindi il token della prima scheda memorizzata non corrisponde al nuovo cookie perché è stato ri-rilasciato. Il piano per risolvere questo problema è verificare se il token CSRF esiste già in un cookie e restituire quello esistente se è buono.

Sembra una soluzione valida e sicura, ma vorrei verificare qui che non ci sono inconvenienti a questa soluzione.

    
posta Ilya Chernomordik 11.10.2017 - 14:12
fonte

1 risposta

1

Sembra che questo potrebbe portare a una forma di risoluzione della sessione, probabilmente impedendo al sistema di ri-emettere un nuovo token sempre assicurandosi che il cookie ne abbia uno. Il vettore di exploit potrebbe essere un attacco MiTM. Tuttavia, i cookie con doppia presentazione sono già in qualche modo vulnerabili agli attacchi MiTM se non eseguiti correttamente.

Generalmente, con i cookie inviati due volte non è necessario modificare il token cookie per ogni richiesta, solo una volta per sessione.

Se hai bisogno di una protezione più rigorosa, di sessioni di lunga durata o di più sessioni distinte, dovresti cercare di utilizzare schema di sincronizzazione .

    
risposta data 12.10.2017 - 05:10
fonte

Leggi altre domande sui tag