In ogni caso a fuggire l'input di lettura HTML come una stringa?

1

Quindi sto valutando un sito Web notoriamente sicuro per l'exploit XSS, ma ho notato qualcosa di interessante. Escludono le entità del numero HTML ( { ) ma non i tipi di lettera ( < ).
Con il tipo "lettera", analizza sul sito web e posso inserire <script> e tutto il resto, ma non viene eseguito.

Questo è il mio problema:
Sta leggendo l'input poi come una stringa e anche se fuggo lo span con </span> , non fa nulla.

Una visualizzazione di ciò di cui sto parlando è:
<span class="sanitizedtext">[INPUT HERE]</span>

Anche se utilizzo i tag, lo fa:
<span class="asdf"></span><script>[my code here]</script><span></span>

Anche se quanto sopra dovrebbe essere interrotto ed eseguito, non lo è. Si trova lì, anche se sta tornando sulla pagina.

TL; DR:
Ho trovato un modo per fare in modo che una pagina accetti <script> , ma rimane semplicemente lì perché viene letta come una stringa, non come un codice. (Anche se provo a sfuggire allo span / div / qualunque)

Scusa se non sono bravo con XSS. Grazie a tutti in anticipo!

    
posta Ryan Stewart 26.11.2016 - 17:28
fonte

2 risposte

3

Va bene se una pagina web non filtra le stringhe come &lt; perché è già stata eseguita l'escape. I browser sanno che &lt;script&gt; non è un vero tag script, ma solo testo.

    
risposta data 26.11.2016 - 17:56
fonte
0

user7091295 ha ragione. Se guardi la fonte della pagina web, sembrerà &lt;script&gt; e capirai che &lt; è la codifica per la parentesi angolare sinistra, già demarchizzata e il tag non sarà un tag. Stai facendo la difesa del sito web per questo. Dovresti esaminare altri tag oltre allo script. Qual è il risultato di img, a, iframe e altri tag menzionati qui: link ?

    
risposta data 26.11.2016 - 20:30
fonte

Leggi altre domande sui tag