Comprensione delle richieste di origine incrociata da una pagina web

2

Leggendo gli attacchi XSS su wiki Vedo che dice che uno script iniettato potrebbe inviare dati / cookie al sito degli attaccanti. Come è stato realizzato? Non ci sono controlli / restrizioni sulle richieste di cross cross come questo da un browser? Pensavo che le specifiche CORS fossero state fatte appositamente per questo scopo e il sito originale deve impostare i siti "helper" nell'intestazione Access-Control-Allow-Origin. Mi manca qualcosa o non è necessario? Posso semplicemente fare un post HTTP su qualsiasi server da qualsiasi pagina?

EDIT: Penso di aver risposto alla mia stessa domanda qui. Lo script iniettato può recuperare il codice dal sito degli utenti malintenzionati in modo che venga eseguito all'interno del codice del sito originale. Ciò rende il sito degli attaccanti ok a postare. È corretto? Qualsiasi altra informazione accolta.

    
posta user220201 11.09.2014 - 21:58
fonte

1 risposta

1

Se utilizzi CORS per qualsiasi altra cosa, XMLHTTPRequest (che storicamente ha l'impostazione predefinita per consentire solo la stessa origine) deve essere supportato sul lato client (browser) e deve anche essere esplicitamente utilizzato sul lato server.

Per impostazione predefinita, le richieste di origine incrociata possono essere fatte semplicemente includendo un'immagine, foglio di stile, script ecc da un altro sito e se hai un XSS di successo puoi usarlo per inviare ad esempio il cookie di sessione all'interno di tale richiesta. Per renderlo impossibile, è necessario verificare ogni richiesta sul lato server (ad esempio richiedendo un'identità o un referer per lo stesso sito e non consentire l'origine / referto vuoto) o limitare le richieste cross-site sul lato client (utilizzando Content-Security- Politica, non supportata da tutti i browser recenti).

    
risposta data 12.09.2014 - 07:52
fonte

Leggi altre domande sui tag