Sto cercando di eseguire un payload XSS su un campo di ricerca che accetta il mio input in questo modo:
<input name="q" id="gsasearch" type="text" value="My Input"></input>
Osservazioni:
-
<
,>
e"
sono filtrati. Tuttavia, la codifica HTML di questi caratteri funziona. - L'input è codificato URL e URL decodificati e visualizzati per me.
- Non ci sono parametri.
I payload utilizzati sono in versione codificata HTML di qq"><script>alert('xss')</script>
.
Tuttavia, tutto quello che vedo nella pagina dei risultati è qq"><script>alert('xss')</script>
.
XSS non viene eseguito sia in Chrome che in IE. Se controllo l'elemento, vedo questo:
<input name="q" id="gsasearch" type="text" value="qq"><script>alert('xss')</script>"></input>
Dopo aver usato F2 negli strumenti di sviluppo, ho potuto vedere che "
viene convertito in "
, come mostrato di seguito:
<input name="q" id="gsasearch" type="text" value="qq**"**><script>alert('xss')</script>"></input>
I / p - > URL codificato - > URL decodificato - > HTML codificato se è un "
C'è un modo per aggirare questo?