Introducción
¡Bienvenido a nuestro laboratorio interactivo! Aquí, nos sumergiremos en el mundo de la seguridad web centrándonos en la Inyección de Secuencias de Comandos entre Sitios (Cross-Site Scripting, XSS) - una vulnerabilidad común pero crucial en las aplicaciones web. Si un sitio web no está adecuadamente protegido contra XSS, puede convertirse en un campo de juego para los atacantes.
¡Pero no te preocupes! Te ayudaremos a entender y abordar este problema. Comenzaremos desglosando qué es XSS, por qué es importante y cómo se puede explotar. Luego, te guiaremos en el uso de una herramienta llamada 'hackbar', que nos ayudará a identificar posibles vulnerabilidades XSS.
Además, también exploraremos diversas 'técnicas de elusión'. Estas son métodos ingeniosos que los atacantes pueden utilizar para eludir las medidas de seguridad, y al entenderlas, podemos proteger mejor nuestros sitios web.
Recuerda, la mejor manera de aprender es haciendo - así que realizaremos experimentos prácticos a lo largo de todo el proceso. Al final de este laboratorio, tendrás una sólida comprensión de las vulnerabilidades XSS y cómo prevenirlas. ¡Empecemos!
Instalación y uso de Hackbar
En este módulo, nos familiarizaremos con una herramienta útil conocida como 'hackbar', que será nuestra principal ayuda para detectar vulnerabilidades de Inyección de Secuencias de Comandos entre Sitios (Cross-Site Scripting, XSS).
En primer lugar, instalemos la extensión del navegador hackbar:
- Navegue hasta el directorio
/home/labex/project. - Busque el archivo
hackbar-2.3.1-fx.xpi, haga doble clic en él y luego haga clic en "Agregar" en la ventana emergente para instalar la extensión. Al igual que se muestra en la siguiente imagen, como se muestra a continuación.
Una vez completada la instalación, puede acceder a hackbar lanzando las herramientas de desarrollo de su navegador. Esto se hace generalmente presionando la tecla F12 o navegando a Configuración > Desarrollador > Depurador.
Repasemos rápidamente algunas de las características principales de hackbar:
- Cargar URL: Esta función extrae la URL de la página en la que se encuentra actualmente y la coloca en hackbar.
- Dividir URL: Esta función desglosa los parámetros de la URL para que sean más fáciles de leer y entender.
- Ejecutar: Esta función envía la URL modificada de vuelta al servidor.
- Datos POST: Esta función le permite enviar datos POST al servidor.
Además, hackbar viene con cargas útiles (payloads) integradas para una variedad de vulnerabilidades, incluyendo inyección SQL, XSS y XXE.
Experimento de vulnerabilidad XSS 1
En este segmento, profundizaremos en una vulnerabilidad básica de Inyección de Secuencias de Comandos entre Sitios (Cross-Site Scripting, XSS) y aprenderemos cómo podemos explotarla utilizando hackbar.
En primer lugar, ejecute el siguiente comando para preparar nuestro entorno de laboratorio:
docker run -d -p 82:80 --name pentesterlab-WebforPentest-1 -it jewel591/vulnbox:pentesterlab-WebforPentest-1 /bin/sh -c 'service apache2 start && tail -f /var/log/apache2/error.log'
A continuación, abra su navegador web y navegue a esta URL:
http://127.0.0.1:82/xss/example1.php?name=hacker
Estos son los pasos para explotar la vulnerabilidad XSS:
- Presione F12 para abrir hackbar y haga clic en "Cargar URL" para extraer la URL de la página actual.
- Modifique el valor del parámetro
namea123y luego haga clic en "Ejecutar". Debería observar que la página se actualiza con este nuevo valor, como se muestra en la siguiente imagen.
- Utilice la carga útil (payload) de XSS integrada en hackbar (
XSS > XSS Alert) y haga clic en "Ejecutar". Esto debería provocar una alerta de XSS, como se muestra en la siguiente imagen.
Experimento de vulnerabilidad XSS 2
En esta parte, exploraremos una técnica básica para eludir los filtros de Inyección de Secuencias de Comandos entre Sitios (Cross-Site Scripting, XSS).
Comience navegando a la siguiente URL en su navegador web:
http://127.0.0.1:82/xss/example2.php?name=hacker
Estos son los pasos para eludir el filtro XSS:
- Intente inyectar una carga útil (payload) de XSS simple utilizando hackbar, por ejemplo,
<script>alert(1)</script>. Descubrirá que esto no produce el resultado esperado, como se muestra en la siguiente imagen.
- Inspeccione el código fuente de la página. Notará que las etiquetas
<script>y</script>se están filtrando, como se muestra en la siguiente imagen.
- Para eludir este filtro, intente usar una combinación diferente de mayúsculas y minúsculas para la etiqueta
script, como<ScripT>alert(1)</ScripT>. Esto podría permitirle eludir el filtro e inyectar con éxito la carga útil de XSS, como se muestra en la siguiente imagen.
Experimento de vulnerabilidad XSS 3
En esta fase, aprenderemos cómo emplear diversas etiquetas y atributos HTML para ejecutar ataques de Inyección de Secuencias de Comandos entre Sitios (Cross-Site Scripting, XSS).
Primero, navegue a la siguiente URL en su navegador web:
http://127.0.0.1:82/xss/example4.php?name=hacker
Siga estos pasos para eludir el filtro XSS y ejecutar un ataque:
- Intente inyectar una carga útil (payload) de XSS simple utilizando hackbar. Sin embargo, notará que el servidor identifica y bloquea la palabra clave
script, como se muestra en la siguiente imagen.
- Para eludir este filtro, usaremos la etiqueta HTML
<a>en combinación con el atributoonclick:
<a onclick="alert('xss')">xss</a>
Esta carga útil genera un enlace clicable en la página web. Cuando se hace clic en él, se activa la función JavaScript alert('xss').
- Haga clic en el enlace "xss" de la página. Debería ver que se activa la alerta de XSS, como se muestra en la siguiente imagen.

Hay una gran cantidad de etiquetas y atributos HTML que se pueden utilizar en conjunto para lanzar ataques XSS. Para cargas útiles de XSS más sofisticadas, consulte el siguiente repositorio:
https://github.com/iSecurity-Club/Pentest-Methodologies/blob/master/web-exploit-exp/xss/payloads.txt
Resumen
En este laboratorio, aprendimos las técnicas fundamentales para descubrir y explotar vulnerabilidades de Inyección de Secuencias de Comandos entre Sitios (Cross-Site Scripting, XSS). Exploramos cómo utilizar la herramienta hackbar para probar las vulnerabilidades XSS y empleamos diversas técnicas de elusión, como la manipulación de mayúsculas y minúsculas y el uso de diferentes etiquetas y atributos HTML. A través de experimentos prácticos, adquirimos experiencia práctica en la identificación y explotación de vulnerabilidades XSS en aplicaciones web. Este laboratorio proporcionó una base sólida para la exploración posterior de técnicas XSS más avanzadas y la prueba de seguridad de aplicaciones web.



