Entrada

XSS Lab 19

XSS Lab 19

Skills

  • Reflected XSS into a JavaScript string with angle brackets and double quotes HTML-encoded and single quotes escaped

Certificaciones

  • eWPT
  • eWPTXv2
  • OSWE
  • BSCP

Descripción

Este laboratorio contiene una vulnerabilidad XSS reflejada en la funcionalidad de seguimiento de la consulta de búsqueda, donde los corchetes angulares y las comillas dobles están codificados en HTML y las comillas simples están escapadas. Para resolver este laboratorio, debemos realizar un ataque XSS que rompa la cadena de JavaScript y llame a la función alert(). Debido a las restricciones de codificación, necesitaremos encontrar una forma de escapar correctamente de la cadena y ejecutar el código malicioso aprovechando las vulnerabilidades en la manipulación del input


Resolución

Al acceder a la web nos sale esto

Introducimos contenido en el cuadro de búsqueda

Observamos el código fuente y vemos que nuestro payload aparece entre comillas simples

Si intentamos usar el payload ' testing nos escapa la comilla simple

Si probamos este payload \' testing conseguimos escapar la \ que nos escapa la '

Una vez hemos escapado del string, podemos usar este otro payload \'-alert(3);//. Con la \ escapamos la \ que usa la web para escapar nuestra ', haciendo que sí sea interpretada. El - sirve para concatenar texto en cadenas de texto, es parecido al +, pero se prefiere usar el - porque no se urlencodea. Con // comentamos el resto de la línea para evitar errores y asegurar que se ejecute el alert(3) correctamente. Este tipo de técnica nos permite ejecutar código JavaScript a pesar de las restricciones impuestas en la entrada de datos

Esta entrada está licenciada bajo CC BY 4.0 por el autor.