Entrada

BBLabs - Reflection | (Difficulty Easy) - XSS

Writeup del laboratorio de dificultad fácil Reflection de la página https://bugbountylabs.com/

BBLabs - Reflection | (Difficulty Easy) - XSS

Lab 1 - Reflected XSS

Descripción: En este laboratorio podrás introducir un payload XSS y ver cómo se refleja en la misma página.

image

Comienzo introduciendo un texto de prueba sencillo para observar el comportamiento de la página, consigo observar que el contenido que se introduce se ve reflejado en la web

image

Intento inyectar una etiqueta HTML, por ejemplo, un título <h1> de forma sencilla, puediendo ver que soy capaz de alterar el texto y hacer que sea un titulo, consiguiendo realizar el HTML Injection de forma satisfactoria.

Payload

1
<h1>HTML Injection</h1>

image

image

Pudiendo haber realizar una inyección de código HTML lo suyo sería intentar inyectar código JavaScript, utilizando la etiqueta <script> no funciona, por lo que una alternativa de tantas es utilizar la etiqueta <img> y apuntar a una imagen inexistente, luego por ultimo indicar que cuando se produzca un error se ejecute el código JavaScript que deseemos.

Payload

1
<img src=x onerror=alert('xss')>

image

image

Lab2 - Stored XSS

Descripción: Este laboratorio te permite practicar inyecciones de script que se almacenan y se muestran a posteriores visitantes.

image

Comienzo introduciendo un texto de prueba sencillo para observar el comportamiento de la página, consigo observar que el contenido que se introduce se almacena en la web en la web

image

image

Intento inyectar una etiqueta HTML, por ejemplo, un título <h1> de forma sencilla, puediendo ver que soy capaz de alterar el texto y hacer que sea un titulo, consiguiendo realizar el HTML Injection de forma satisfactoria.

Payload

1
<h1>HTML Injection</h1>

image

image

Pudiendo haber realizar una inyección de código HTML lo suyo sería intentar inyectar código JavaScript, utilizando la etiqueta <script> no funciona, por lo que una alternativa de tantas es utilizar la etiqueta <img> y apuntar a una imagen inexistente, luego por ultimo indicar que cuando se produzca un error se ejecute el código JavaScript que deseemos, al ser un XSS almacenado cada vez que un usuario acceda a la página se le ejecutará el código malicioso JS

Payload

1
<img src=x onerror=alert('xss')>

image

image

Lab 3 - Dropdown XSS

Descripción: Selecciona alguna opción en los menús desplegables y haz clic en Enviar. Luego, puedes interceptar la petición con Burp Suite (u otra herramienta) y modificar los valores enviados para intentar inyectar tu payload.

image

Comienzo seleccionando diferentes opciones disponibles de los dropdowns, interceptando la petición con BurpSuite y enviándola al Repeater

image

image

Modifico los tres valores que se tramitan por GET opcion1, opcion2, opcion3 e intento inyectar código HTML, por ejemplo, un título <h1>, consigo observar que se refleja el código inyectado

Payload

1
/laboratorio3/?opcion1=<h1>HTML+Injection</h1>&opcion2=<h1>HTML+Injection</h1>&opcion3=<h1>HTML+Injection</h1>

image

image

image

Inyecto una etiqueta <img> en los tres parámetros GET que apunta hacia una imagen inexistente, indicando que cuando se produzca el error se ejecuta un código JavaScript, consiguiendo ejecutar el código de forma exitosa.

Payload

1
/laboratorio3/?opcion1=<img+src=x+onerror=alert('xss')>&opcion2=<img+src=x+onerror=alert('xss')>&opcion3=<img+src=x+onerror=alert('xss')>

image

image

image

Lab 4 - Reflected XSS through the URL

Descripción: Introduce un parámetro ?data= en la URL para reflejar su contenido en la página.

image

Intento inyectar código HTML, por ejemplo, un título <h1>, a través del parámetro GET data, consigo observar que se refleja el código inyectado

Payload

1
/laboratorio4/?data=<h1>HTML+Injection</h1>

image

image

Viendo que se interpreta código HTML, inyecto una etiqueta <img> en el parámetro GET que apunta hacia una imagen inexistente, indicando que cuando se produzca el error se ejecute un código JavaScript, consiguiendo ejecutar el código de forma exitosa.

Payload

1
/laboratorio4/?data=%3Cimg+src=x+onerror=alert(%27xss%27)%3E

image

image

Esta entrada está licenciada bajo CC BY 4.0 por el autor.