Reflected XSS into HTML context with all tags blocked except custom ones writeup

Descripción

This lab blocks all HTML tags except custom ones.

To solve the lab, perform a cross-site scripting attack that injects a custom tag and automatically alerts document.cookie.

Reflected XSS into HTML context with all tags blocked except custom ones writeup

HTML5 tiene varias etiquetas predefinidas (h1, p, script), pero también da la posibilidad de crear etiquetas personalizadas (que suelen tener un ‘-‘ en ellas). Al entrar al laboratorio veremos un blog con una herramienta de búsqueda. Si intentamos introducir en ella una etiqueta existente el firewall de la aplicación bloqueará la petición, pero si introducirnos una etiqueta personalizada no habrá problema:

Ahora, para que funcione automáticamente tendremos que insertar una serie de atributos a esta etiqueta:

<cyberhub-es id="xss" onfocus="alert(document.cookie)" tabindex="0">

Este código hace lo siguiente:

  1. id=»xss»: Proporciona un identificador único al elemento.
  2. onfocus: Cuando el elemento esté seleccionado ejecutará el JavaScript.
  3. tabindex: Permite seleccionar al elemento.

Para que funcione, también deberemos añadir a la URL de la página al final ‘#xss’, con el fin de que se seleccione el elemento automáticamente:

Entramos en ‘Go to exploit server’ y pegamos el siguiente código en el ‘Body’:

<script>
location = 'https://0a7300cd03852ae581561280002f006f.web-security-academy.net/?search=%3Ccyberhub-es+id%3D%22xss%22+onfocus%3D%22alert%28document.cookie%29%22+tabindex%3D%220%22%3E#xss'
</script>

Completando así el laboratorio:

Deja una respuesta

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