CSRF: far agire il browser della vittima
Cross-site request forgery sfrutta il fatto che i cookie di sessione partono automaticamente. Un sito malevolo invia una richiesta al tuo sito e il browser vi allega il cookie della vittima.
<form action="https://banca.it/transfer" method="POST">
<input name="to" value="attacker">
<input name="amount" value="5000">
</form><script>document.forms[0].submit()</script>Difesa
Token anti-CSRF: un valore casuale per sessione, inserito in ogni form e verificato lato server. L'altro sito non lo conosce.
Cookie SameSite: SameSite=Lax (default moderno) blocca l'invio del cookie su richieste cross-site POST; Strict anche su navigazione. Difesa di base ma non sostituisce i token per tutti i casi.
Verifica anche l'header Origin/Referer per le azioni sensibili.