L'avviso XSS non funziona con una stringa concatenata

0

Ho notato che il seguente XSS memorizzato non viene eseguito, mentre nella console JS funziona:

<img src=0 onerror=alert(document.domain+": "+Date.now())>

Questo non richiede una finestra di avviso. Considerando quanto segue:

<img src=0 onerror=alert(Date.now())>
<img src=0 onerror=alert(document.domain)>

La conversione di uno qualsiasi degli elementi con String() non aiuta neanche.

L'istruzione di avviso semplice ( alert(document.domain+": "+Date.now()) ) funziona nella console Chrome JS, in Firefox funziona se aggiungo il punto e virgola alla fine.

Non sono certamente un mago JS, ma non vedo perché questo non funzioni.

Perché l'XSS iniziale tramite il tag immagine non funziona?

    
posta GarlicCheese 15.11.2018 - 12:34
fonte

2 risposte

3

Devi rimuovere lo spazio in ": " o aggiungere virgolette per il valore dell'attributo onerror:

<img src=0 onerror='alert(document.domain+": "+Date.now())'>
    
risposta data 15.11.2018 - 19:15
fonte
2

Hai inserito una citazione in quella originale. Questo danneggia il parser HTML perché " ha un significato speciale all'interno dello spazio degli attributi di un tag.

Ho sbagliato. È lo spazio.

    
risposta data 15.11.2018 - 12:36
fonte

Leggi altre domande sui tag