CSRF:Cross-Site Request Forgery
Cosa è, che tipo di attacco
CSRF (Cross-Site Request Forgery)
In italiano "falsificazione di richiesta tra siti," è un tipo di attacco informatico che sfrutta la fiducia di un sito web in una richiesta proveniente da un utente autenticato. L’obiettivo di un attacco CSRF è indurre l'utente, mentre è autenticato su un sito, a inviare richieste non intenzionali a quel sito, facendo sì che il server esegua azioni senza il consenso dell'utente.
Come funziona un attacco CSRF
1. Autenticazione dell'utente: L'utente si autentica su un sito, ad esempio accedendo al proprio account bancario o al pannello di controllo di un'applicazione.2. Preparazione del link dannoso: Un attaccante crea un link o un modulo HTML che invia una richiesta dannosa al server (ad esempio, un trasferimento di denaro).
3. Induzione all'azione: L'attaccante convince l'utente a cliccare sul link o a visitare una pagina che esegue la richiesta preparata.
4. Invio della richiesta: Poiché l'utente è già autenticato, il server considera la richiesta legittima e la esegue, applicando le modifiche richieste dall’attaccante.
Esempio
Supponiamo che tu sia autenticato su un sito bancario.Se un attaccante ti induce a cliccare su un link che, in background, invia una richiesta al server della banca per trasferire denaro, il server accetta l’operazione perché viene eseguita con la tua sessione attiva.
Come si previene il CSRF
Alcuni metodi comuni includono:
- Token CSRF: generare un token univoco per ogni richiesta e verificare che sia presente nella richiesta in arrivo.
- Verifica del referer: controllare l'origine della richiesta e accettare solo richieste che provengono dallo stesso dominio.
- SameSite Cookies: utilizzare cookie con l'attributo `SameSite`, che impedisce ai browser di inviare i cookie di autenticazione in richieste provenienti da domini esterni.
Il CSRF è un problema comune nelle applicazioni web moderne, ma può essere prevenuto con adeguate misure di sicurezza.