Prevenire CSRF con flusso implicito e JWT?

0

Sto leggendo attraverso openid connect document ATM e dice:

Put into a browser cookie the ID token can be used to implement lightweight stateless sessions.

IIUC vogliamo evitare di usare i cookie per evitare gli attacchi CSRF, dal momento che il browser invierà il cookie con tutte le richieste e se l'utente carica un'immagine (mentre ha effettuato l'accesso a notsosecurebank.com) con l'URL:

href="http://notsosecurebank.com/transfer.do?acct=AttackerA&amount;=$100">Read more!

Il browser invierà il token di accesso (Poiché si tratta di un cookie) e questo consente l'attacco.

Se il token è in memoria nella sessione o nella memoria locale e viene inviato solo tramite richieste REST / XHR, non è possibile che CSRF si verifichi? Ho capito bene?

    
posta Ole 04.11.2017 - 04:23
fonte

1 risposta

1

La memorizzazione del token nella sessione o nella memoria locale è la soluzione raccomandato di OWASP .

Tuttavia è richiesto ma non sufficiente per proteggere da CSRF: se un utente malintenzionato è in grado di eseguire un attacco Cross-site Scripting (XSS) sul tuo sito, l'utente malintenzionato potrebbe inserire il codice JavaScript che recupera il token dallo storage e utilizzarlo per richieste REST / XHR indesiderate.

Segui anche le raccomandazioni OWASP XSS Prevention Cheat Sheet e dovresti essere bravo.

    
risposta data 28.11.2017 - 02:38
fonte

Leggi altre domande sui tag