L'autenticazione JWT può agire come un meccanismo anti-CSRF?

6

Nell'applicazione Angolare a pagina singola (API Angular + REST) utilizzo l'autenticazione JWT . Supponiamo che i token JWT siano generati correttamente e veramente casuali (non puoi prevederlo).

Questo token JWT è sufficientemente protetto contro Cross Site Request Forgery (CSRF) ? Nelle altre parole, JWT è sufficiente anche come token anti-CSRF?

    
posta boleslaw.smialy 09.01.2018 - 11:35
fonte

1 risposta

6

Se il JWT è nell'intestazione, dovresti essere sicuro. L'attaccante non può ingannare il browser delle vittime nell'impostazione dell'intestazione (a meno che non lo consenta il CORS, oppure fa leva su un vecchio exploit Flash ). Ma diciamo che l'attaccante può controllare l'intestazione. Allora a cosa dovrebbe ambientarlo? Lei non lo saprebbe.

D'altra parte, se il JWT è in un cookie, sarai altrettanto vulnerabile come con un normale cookie di sessione. Quindi, il fatto che tu sia vulnerabile o meno ha poco a che fare con che tipo di token usi (JWT o ID di sessione) ma più a che fare con dove lo hai messo (intestazione o cookie).

Anche quando l'autenticazione viene fornita con la protezione CSRF automagic, si consiglia di considerare comunque l'aggiunta di una protezione CSRF esplicita. C'è sempre il rischio che qualcuno cambi il meccanismo di autenticazione senza rendersi conto che ha due scopi.

    
risposta data 09.01.2018 - 16:33
fonte

Leggi altre domande sui tag