Perché dovrebbe essere eseguita una stringa agente utente?

4

Ho difficoltà a capire come potrebbe presentarsi una particolare vulnerabilità XSS nel mondo reale. Guide per due degli esercizi su hackthissite.org:

consiglia gli attacchi XSS per sottrarre informazioni sui cookie. Nel primo esempio lo script è inserito in un messaggio da visualizzare per un altro utente, e posso immaginare un sistema di visualizzazione di messaggi ingenuo che analizza ciecamente HTML e JavaScript. Ma nel secondo caso l'XSS dovrebbe sfruttare uno script di registrazione di user agent.

Why would a script for logging user agents interpret and execute JavaScript in the user agent string?

Dalla ricerca online ho l'impressione che questo sia un vettore di attacco abbastanza comune, ma (forse perché la mia esperienza è tutta in linguaggi compilati) ho difficoltà a immaginare uno script di registrazione realistico che implichi effettivamente l'esecuzione della stringa dell'agente utente . Sicuramente il semplice accesso a navigator.userAgent non causa la valutazione della stringa.

    
posta user39947 11.02.2014 - 23:48
fonte

1 risposta

1

Oltre alle informazioni dettagliate fornite da @TildalWave, ci sono anche casi con sniffer del browser scritti male o analizzati male. A volte le persone hanno la tendenza a rilasciare il codice nel loro progetto e non lo capiscono davvero portando alla diffusione di qualsiasi metodologia imperfetta. Il problema deriva principalmente dai tipi di sniffer che trasmettono il valore del tuo UA a una funzione per decidere quale "pagina" caricare e quali valori impostare per mitigare i problemi in IE, Firefox, Chrome o Opera. Quello che succede è che se una persona passa un UA ben fatto al tuo codice e non lo "disinfetti" correttamente prima di gestirlo nel tuo nucleo, puoi permetterlo di trovare una vulnerabilità. Possono dirottare una sessione attiva, prendere i dati dei cookie non criptati e / o posizionarli, ecc.

    
risposta data 12.02.2014 - 06:22
fonte

Leggi altre domande sui tag