Ho un'applicazione Single-Page, che è fondamentalmente un consumatore per la mia API che autentica utilizzando l'intestazione Authorization
. Ora perché eseguo il rendering lato server, devo autenticarmi su la richiesta iniziale, che significa Devo usare i cookie per memorizzare il token di autenticazione.
Ora, per quanto ho capito, CSRF funziona come questo in un tipico sito web:
- Trova un endpoint che faccia qualcosa di dannoso come
/delete-account
che autentica con i cookie - In
example.com
, inserisci un<img href="http://mywebsite.com/delete-account">
(o qualsiasi altra cosa per una richiesta POST)
Tuttavia, a mio parere, sembra che sia impossibile per gli attacchi CSRF accadere nel caso di una SPA, anche se il token di autenticazione viene inviato come cookie. La normale procedura è un po 'come:
- L'utente visita una pagina, ad esempio
/account
- Il server esegue il rendering della pagina secondo l'utente autenticato (dato il cookie auth)
- La pagina Web viene restituita
- Ora se l'utente desidera eliminare il proprio account, potrebbe premere il pulsante, che invierà una richiesta all'API che autentica le richieste solo tramite
Authorization
header
Ora in un attacco CSRF:
-
<img href="/account">
- Il server esegue il rendering e restituisce la pagina web
- Umm, non succede nulla?
Voglio dire che non riesco a pensare a un modo in cui posso essere vulnerabile a CSRF in questa situazione, anche se utilizzo i cookie per l'autenticazione e, per quanto ho capito, gli attacchi CSRF non riescono a raschiare i dati dalle pagine web, pertanto, restituire dati sensibili non dovrebbe avere importanza, a condizione che non attivi un'azione.
Quindi la mia domanda è, va bene non implementare alcun tipo di protezione CSRF in questo caso? Ho tanta paura di avere un problema di sicurezza in merito.