CSRF
Richiesta intersito falsa
Errore correlato
“Questo server è vulnerabile a un attacco di richiesta intersito falsa. Collega ciascuna richiesta a un token CSRF o un attributo SameSite per i cookie.”
Problema
Una richiesta intersito falsa (cross-site request forgery, CSRF) è un attacco che chiede all’utente a inviare involontariamente una richiesta a un’applicazione web su cui è autentico. Gli attacchi CSRF sfruttano l’attendibilità che un’applicazione ha per un utente autenticato.
Essi sono spesso targettizzati, utilizzando ingegneria sociale, come:
E-mail phishing
Link di chat
Falsi allarmi
Quando un utente accede a un’applicazione web, il pirata lo invita a fare clic su un URL che contiene una richiesta non autorizzata per una specifica applicazione web. Il browser dell’utente invia quindi questa richiesta con intenzioni dannose a un’applicazione web target, includendo informazioni di sessione, quali cookie o credenziali. Se l’utente è in una sessione attiva con un’applicazione web, l’applicazione elaborerà questa nuova richiesta come richiesta avviata dall’utente e autorizzata. Consentirà, di conseguenza, al pirata di sfruttare la vulnerabilità CSRF dell’applicazione web.
Il livello dell’attacco dipende dal livello dei privilegi posseduti dalla vittima. L’attacco CSRF non ruba direttamente l’identità degli utenti; sfrutta invece l’utente, per effettuare azioni senza la sua volontà.
Un attacco CSRF riuscito forza l’utente a eseguire la richiesta di cambiamento di stato, come:
Modificare password
Modificare indirizzi e-mail
Modificare o cancellare record
Trasferire di fondi
Acquistare
Soluzione
Per prevenire un attacco CSRF:
Usa Token CSRF per tutte le richieste di cambio di stato
Un token CSRF, conosciuto anche come token di sincronizzazione o challenge token, è un valore univoco e segreto generato sul lato client per ciascuna sessione utente, rendendo impossibile l’accesso non autorizzato e ingannare l’utente.
Usa l’attributo dei cookie SameSite per i cookie di sessione
Imposta attributi SameSite per cookie come un elemento extra di protezione insieme al token CSRF. L’attributo SameSite consente l’invio dei cookie solo se questi e la richiesta hanno origine dallo stesso dominio (e non da cross-domain).
Nota
I browser più vecchi potrebbero non riuscire a supportare i cookie SameSite.