Skip to main content

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.