¿Cadena entre comillas doble de JavaScript de XSS con HTML escapado posible?

7

¿Es posible inyectar XSS en una variable de JavaScript si un sitio web inserta un código HTML codificado, la entrada del usuario en una cadena con doble cita?

var userString = "perfectly "safe" input from user?";

    
pregunta user27675 26.06.2013 - 23:38
fuente

1 respuesta

4

Probablemente no sea posible obtener XSS debido a esta simple restricción de caracteres. Sin embargo, un atacante podría inyectar un personaje de escape, por ejemplo:

var userString = "perfectly "safe" input from user?\"+"+alert(1);

En este caso, el atacante inyectaría un \ y un alert(1) en dos variables diferentes que existen en dos ubicaciones dentro de la etiqueta <script> . Los caracteres de escape son un tipo de carácter de control que los desarrolladores suelen olvidar al limpiar los datos controlados por el atacante.

... también espero que hayas tenido esto en cuenta:

<script>
var userString = "</script><script>alert(1)//"
</script>
    
respondido por el rook 27.06.2013 - 00:25
fuente

Lea otras preguntas en las etiquetas