Reflected XSS into attribute with angle brackets HTML-encoded – PortSwigger Write Up

En este post vamos a estar resolviendo el laboratorio de PortSwigger: “Reflected XSS into attribute with angle brackets HTML-encoded.”


En este caso, para resolver el reto tenemos que inyectar un atributo que nos ejecute un alert.

Lo primero de todo es acceder al laboratorio:


Una vez accedemos, nos encontramos ante una barra de búsqueda, por lo que vamos a usarla buscando una palabra aleatoria:



Cuando buscamos, si nos fijamos aquí ocurren varias cosas:

  1. En este caso no hay resultados, pero eso es lo de menos.
  2. En la URL se nos añade el parámetro search.
  3. Lo que buscamos, acaba siendo el valor del atributo value en el elemento input.

Teniendo en cuenta los dos últimos puntos, podemos crear un payload que nos cree un nuevo atributo dentro del elemento input para que se nos ejecute un alert. En este caso el payload es:

  • “onmousemove=”alert(1)


De esta forma, buscando por el payload que hemos especificado arriba, conseguimos resolver el laboratorio:


Parece que no ha ocurrido nada a nivel de ejecutar el alert, sin embargo, si pasamos el ratón por encima de la palabra:


Se nos ejecuta. De esta forma conseguimos resolver el laboratorio:


¡Un saludo y espero que os sirva de apoyo!