Vulnerabilità Newline XSS

3

Quindi stavo sperimentando XSS usando un carattere di nuova riga (% 0A). Così sono arrivato al solito vettore: '% 0Aalert (/ xss /) // e una cosa mi è venuta in mente. Cosa succede se non riesci a inserire un preventivo?

Una nuova riga interromperà la stringa in modo da poter inserire il codice. Tuttavia, l'errore di sintassi (stringa non terminata) impedirà l'esecuzione dello script. C'è un modo per aggirarlo?

Grazie!

    
posta Chris Illusion 06.03.2013 - 21:51
fonte

1 risposta

1

Potresti terminare l'elemento script e avviarne uno nuovo:

%0A</script><script>alert(/xss/)//

Ci sarà ancora un errore di sintassi nello script originale (non verrà eseguito nulla fino a questo punto), ma quello aggiunto verrà comunque eseguito (incluso qualsiasi cosa venga dopo). Demo . Come puoi vedere, l'uso di virgolette non è una valida difesa contro XSS, l'escape è la strada da percorrere.

(E nel caso ti stia chiedendo, l'attacco è possibile anche se la chiamata è stata inserita in una funzione o eval .)

    
risposta data 06.03.2013 - 22:47
fonte

Leggi altre domande sui tag