¿De todos modos se escapa la entrada de lectura HTML como una cadena?

1

Por lo tanto, estoy evaluando un sitio web notoriamente seguro para el exploit XSS, pero he notado algo interesante. Prohiben las entidades de número HTML ( { ) pero no los tipos de letra ( < ).
Con el tipo de "letra", analiza en el sitio web y puedo ingresar <script> y todo eso, pero no se ejecuta.

Este es mi problema:
Está leyendo la entrada y luego como una cadena, e incluso si escapo del intervalo con </span> , no hace nada.

Una visual de lo que estoy hablando es:
<span class="sanitizedtext">[INPUT HERE]</span>

Incluso si uso etiquetas, hace esto:
<span class="asdf"></span><script>[my code here]</script><span></span>

Mientras que lo anterior debería romperse y ejecutarse, no lo hace. Simplemente permanece allí, incluso si está regresando a la página.

TL; DR:
Encontré una manera de hacer que una página acepte <script> , pero simplemente se queda ahí porque se está leyendo como una cadena, no como un código. (Incluso si trato de escapar del span / div / lo que sea)

Lo siento si soy malo en XSS. ¡Gracias a todos por adelantado!

    
pregunta Ryan Stewart 26.11.2016 - 17:28
fuente

2 respuestas

3

Está bien si una página web no filtra cadenas como &lt; porque ya se ha escapado. Los navegadores saben que &lt;script&gt; no es una etiqueta de script real, sino solo texto.

    
respondido por el user7091295 26.11.2016 - 17:56
fuente
0

user7091295 tiene razón. Si observa la fuente de la página web, se verá como &lt;script&gt; y entenderá que &lt; es la codificación para el corchete del ángulo izquierdo, ya no tiene armas y la etiqueta no será una etiqueta. Usted está haciendo la defensa del sitio web para ello. Debería mirar otras etiquetas además del script. ¿Cuál es el resultado de img, a, iframe y otras etiquetas mencionadas aquí: enlace ?

    
respondido por el mcgyver5 26.11.2016 - 20:30
fuente

Lea otras preguntas en las etiquetas