% richieste diGET
possono essere forzate su di te facilmente. Fondamentalmente, supponiamo che esista un server sicuro con cui parli con GET
richieste sotto la protezione di HTTPS e blocco dei certificati e qualsiasi altra cosa tu possa immaginare come protezione extra. Chiamiamo www.example.com
questo server. Alcune di queste richieste hanno lo scopo di avere un effetto, ad es. una richiesta di GET
a:
https://www.example.com/[email protected]
attiva un processo sul tuo server che culmina con l'invio di una email all'indirizzo specificato.
Ora, un attaccante industrioso ti segue in giro e aspetta che tu ti sieda in un ristorante fast food con WiFi gratuito; sa che ti connetteresti a quella rete Wi-Fi e ti cimenterai in una navigazione Web casuale. L'attaccante tira fuori i propri punti di accesso WiFi portatili (come quello ) e aspetta che tu ti connetta al suo hardware . A quel punto, l'attaccante può vedere e modificare tutto il tuo traffico. Certo, SSL lo tiene fuori. Tuttavia, durante la navigazione casuale, non si visita solo il sito Web HTTPS. Se il tuo browser effettua una connessione a un sito Web HTTP (senza SSL), l'autore dell'attacco deve semplicemente inserire il seguente testo nel codice HTML restituito:
<img src="https://www.example.come/[email protected]"/>
eboom!HaiappenaspammatoilPapa.Infatti,dopoavervistoquelpiccolopezzodiHTML,iltuobrowserinviadoverosamenteunarichiestadiGET
all'indirizzospecificato.QuestofunzionaindipendentementedallaprovenienzadellapaginaincuiapparequestotagHTML;lerichiestediGET
da<img>
tageludonototalmentela Politica Same-Origin .
% richieste diPOST
non possono essere fabbricate in questo modo. Pertanto, indipendentemente da quanto sei sicuro di parlare con i server che intendi, dovrai utilizzare le richieste di GET
solo per l'elaborazione di sola lettura .