Come proteggere il token CSRF?

0

Nella mia domanda precedente , John Wu mi ha consigliato di utilizzare un token CSRF per sessione e mi ha detto di fare un'altra domanda sulla protezione del token CSRF.

Come posso proteggere un token CSRF che è un tipo per sessione, in modo che non possa essere rubato da un utente malintenzionato?

    
posta googol8080 20.09.2016 - 06:02
fonte

1 risposta

2

C'è poco che puoi o devi fare per proteggere il token CSRF. Forse c'è di più, ma posso solo pensare a quattro cose:

  • Non inserirlo in un parametro URL in cui verrà registrato in tutti i tipi di posizioni.
  • Se stai servendo il tuo sito solo tramite HTTPS, contrassegna tutti i cookie coinvolti come sicuri.
  • Invalida il token lato client (tramite le impostazioni dei cookie) e lato server in modo che non possano essere utilizzati token precedenti.
  • Fai attenzione a CORS in modo da non creare accidentalmente qualcosa contenente il token disponibile da un'altra origine.

E poi c'è il problema dell'XSS. Se sei vulnerabile, potrebbe essere usato per rubare il token CSRF, poiché non può essere solo HTTP. Non c'è nulla che tu possa fare al riguardo, oltre ad assicurarti di non essere vulnerabili a XSS. Usa CSP , ripulisci il tuo input con una buona libreria, scansiona il tuo sito, ecc. ecc.

Tuttavia, se hai problemi con XSS hai problemi più grandi del furto del token CSRF.

    
risposta data 20.09.2016 - 09:32
fonte

Leggi altre domande sui tag