
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:
- Permite tener cadenas de caracteres con saltos de línea.
- Permite llamar a funciones de JavaScript con el formato
${funcion(parámetro)}
Con lo cual, al introducir en el buscador ‘${alert()} completaremos el laboratorio:
