XSS Lab 15
Skills
- Reflected XSS into HTML context with all tags blocked except custom ones
Certificaciones
- eWPT
- eWPTXv2
- OSWE
- BSCP
Descripción
Este laboratorio
bloquea todas las etiquetas HTML
excepto las personalizadas
. Para resolver
el laboratorio, debemos realizar un ataque de cross-site scripting
que inyecte una etiqueta personalizada
y automáticamente muestre una alerta con document.cookie
Resolución
Al acceder
a la web
nos sale esto
En este laboratorio
, se bloquean todas las etiquetas
como <img>
, y solo se permiten custom tags
. Podemos utilizar esta cheat sheet
https://portswigger.net/web-security/cross-site-scripting/cheat-sheet para encontrar custom tags
que nos permitan explotar
la vulnerabilidad
de la mejor forma. He estado probando varios payloads
y estos tres son los que mejor funcionan debido a que se ejecutan automáticamente
sin necesitar interacción por parte del usuario
Una alternativa
a estos payloads
sería este otro, cuya diferencia con los demás es que estamos asignándole un id
en vez de usar autofocus
. Para poder ejecutarlo, necesitaremos acceder a la URL
y al final añadir /#x
para que la web ponga el foco
en ese elemento. Para ejecutar el payload
deberíamos acceder a https://0a38003704bf23fa8179524f00870092.web-security-academy.net/?search=<custom-tag+id="x"+onfocus="alert(document.cookie)"+tabindex="1">/#x
1
<custom-tag id="x" onfocus="alert(document.cookie)" tabindex="1">
Para enviar
el payload
a la víctima, debemos ir al servidor de explotación
, insertar el payload
en su interior y pulsar sobre Deliver exploit to victim
. Básicamente, lo que estamos haciendo es crear un script en JavaScript
alojado en nuestro servidor
, que, en cuanto el usuario haga clic en la URL
de nuestro servidor, redirigirá
al usuario
a la página víctima
y explotará
ahí el XSS
1
<script> location = 'https://0ac200b7043be93a822e0ab601190044.web-security-academy.net/?search=%3Cxss+id%3Dx+onfocus%3Dalert%28document.cookie%29%20tabindex=1%3E#x'; </script>