Domanda

Perché i browser applicano la stessa politica di origine per XMLHttpRequest? E 'davvero scomodo per gli sviluppatori, ma sembra lo fa poco in realtà gli hacker di arresto. Ci sono soluzioni alternative, possono ancora includono javascript da fonti esterne (il potere dietro JSONP).

Sembra una "funzione" superata in una rete che è in gran parte interconnesse.

È stato utile?

Soluzione

Perché un XMLHttpRequest passa i token di autenticazione dell'utente. Se l'utente è connesso su example.com con biscotti AUT o alcuni di base, poi abbiamo visitato attacker.com, quest'ultimo sito potrebbe creare un XMLHttpRequest per example.com con piena autorizzazione per tale utente e leggere tutto il pagina privata che l'utente potrebbe (poi inoltrare di nuovo al attaccante).

A causa mettendo gettoni segreti nelle pagine webapp è il modo per fermare semplici Cross-Site-Request Forgery-attacchi, questo significa attacker.com potrebbe intraprendere qualsiasi azione sulla pagina l'utente può in example.com, senza alcun consenso o interazione da loro. XMLHttpRequest globale è cross-site scripting-globale.

(Anche se si ha una versione di XMLHttpRequest che non ha superato l'autenticazione, ci sono ancora problemi. Ad esempio, un utente malintenzionato potrebbe fare richieste ad altre macchine non pubbliche sulla rete Intranet e leggere tutti i file si può scaricare da loro che non può essere inteso per il consumo pubblico. tag <script> già soffrono di una forma limitata di questo tipo di vulnerabilità, ma le risposte completamente leggibili di XMLHttpRequest sarebbe perdere tutti i tipi di file, invece di alcune fra le più purtroppo-artigianale in grado di analizzare come JavaScript .)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top