Reflected XSS into a template literal with angle brackets, single, double quotes, backslash and backticks Unicode-escaped writeup

Descripción

This lab contains a reflected cross-site scripting vulnerability in the search blog functionality. The reflection occurs inside a template string with angle brackets, single, and double quotes HTML encoded, and backticks escaped. To solve this lab, perform a cross-site scripting attack that calls the alert function inside the template string.

Reflected XSS into a template literal with angle brackets, single, double quotes, backslash and backticks Unicode-escaped writeup

Al entrar en el laboratorio veremos un Blog con una barra de búsqueda. Al introducir cualquier cadena de caracteres veremos cómo funciona el saneamiento al inspeccionar el código fuente de la página con Ctrl + U:

<script>
  var message = `0 search results for 'alert()'`;
  document.getElementById('searchMessage').innerText = message;
</script>

Como podemos ver, la cadena de caracteres está dentro del carácter especial ‘`’. Este carácter es como ‘, pero con dos diferencias:

  1. Permite tener cadenas de caracteres con saltos de línea.
  2. Permite llamar a funciones de JavaScript con el formato ${funcion(parámetro)}

Con lo cual, al introducir en el buscador ‘${alert()} completaremos el laboratorio:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *