Un attacco CSRF significa che un sito Web induce un utente a effettuare una richiesta di pagina su un altro sito Web che non desiderava effettuare. Questo può essere usato per indurre l'utente a compiere un'azione su quel sito Web che non intende eseguire.
Potrei, ad esempio, chiederti di fare clic su questo link sorprendente (davvero, è fantastico!) , e accidentalmente ti causano la cancellazione del tuo account su example.com (solo un esempio - non esiste uno script simile su example.com). Quando avrei più controllo su questo sito, potrei usare uno script o un reindirizzamento HTTP, quindi non sarebbe necessario alcun social engineering. Ma qualsiasi risposta a quell'azione verrà inviata a te, non a me. Ciò significa che quando l'azione non è distruttiva e legge solo le informazioni senza modificarle, una CSRF sarebbe inutile. Nel peggiore dei casi, l'utente si chiederà il motivo per cui viene reindirizzato all'improvviso sul sito Web che mostra il proprio numero di previdenza sociale.
Ma esiste un modo per un sito Web di ottenere informazioni da un sito Web diverso nel contesto dell'utente: xmlHttpRequest. Normalmente, stesse politiche di origine si applicano e impediscono a xmlHttpRequests di attraversare i confini del dominio. Ma questa restrizione può essere sostituita da le impostazioni di condivisione delle risorse tra origini sul server web . Quando abilmente accetti CORS per gli altri siti web (o tutti ), possono inviare richieste nel contesto dei tuoi utenti al tuo sito web e leggere la risposta. Quando vuoi sapere come controllare o modificare la configurazione di CORS sul tuo webserver, fai riferimento alla relativa documentazione.