Vettore XSS con spazio dopo segno minore di [chiuso]

-1

Ho bisogno di XSS che funzioni con uno spazio dopo il segno di meno di ( < ).

Input: < img src=x onerror=alert(1)>

Output: < img src="x" onerror="alert(1)">

    
posta Jimmy 12.08.2017 - 22:25
fonte

2 risposte

2

Non è possibile.

La specifica della sintassi HTML5 richiede una lettera ASCII minuscola o maiuscola dopo una parentesi angolare di apertura.

Ecco lo stato del tokenizzatore HTML5 dopo un < (lo " Tag open state "):

Consume the next input character:

"!" (U+0021)
    Switch to the markup declaration open state.
"/" (U+002F)
    Switch to the end tag open state.
Uppercase ASCII letter
    Create a new start tag token, set its tag name to the lowercase version of the current input character (add 0x0020 to the character's code point), then switch to the tag name state. (Don't emit the token yet; further details will be filled in before it is emitted.)
Lowercase ASCII letter
    Create a new start tag token, set its tag name to the current input character, then switch to the tag name state. (Don't emit the token yet; further details will be filled in before it is emitted.)
"?" (U+003F)
    Parse error. Switch to the bogus comment state.
Anything else
    Parse error. Switch to the data state. Emit a U+003C LESS-THAN SIGN character token. Reconsume the current input character. 

Come puoi vedere, solo i caratteri in [a-zA-Z] faranno sì che il tokenizzatore emetta un token di tag , cioè apra un tag vero. Qualunque altra cosa basterà trasformare la parentesi in un valore letterale < e non essere compatibile con XSS in qualsiasi browser che rispetti le specifiche.

    
risposta data 13.08.2017 - 01:31
fonte
0

Perché non provare a url codificare% 20 uno spazio? Ci sono altre opzioni di codifica che potrebbero soddisfare anche questo, come la codifica base10 o base64 che puoi provare.

    
risposta data 13.08.2017 - 07:15
fonte

Leggi altre domande sui tag