¿Cómo hacer un ataque XSS persistente en un entorno de práctica para hacking web?
El hacking web es una disciplina que se utiliza para poner a prueba la seguridad de las aplicaciones web y encontrar sus puntos débiles. Para aprender estos conocimientos, existen entornos de práctica en donde es apropiado practicar técnicas de hacking y, así, entender los principales fallos de seguridad que afectan a las páginas web.
En este tutorial, hecho con fines académicos, usaremos un entorno de práctica de hacking web llamado Damn Vulnerable Web Application o DVWA. El ataque que practicaremos es conocido como XSS persistente y, para entrar en contexto, explicaremos brevemente de qué se tratan esta aplicación y este tipo de ciberataque.
DVWA
Damn Vulnerable Web Application o DVWA es una aplicación web que contiene fallos de seguridad conocidos deliberadamente, como vulnerabilidades XSS, SQL o contraseñas débiles, entre otros. Esta herramienta sirve para practicar ciberataques web y, así, aprender a identificar este tipo de fallos en aplicaciones para mejorar su seguridad.
XSS
El cross-site scripting (XSS) es un ciberataque web que permite inyectar código JavaScript en el navegador de una víctima por medio de una aplicación vulnerable. Existen tres tipos de XSS:
- Reflejado.
- Persistente.
- Basado en DOM.
En el XSS persistente, ejecutaremos el código inyectado en el navegador de todos los que visiten la página, sin necesidad de interactuar con ellos de ningún modo, ya que el payload se almacena en la base de datos de la aplicación web.
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaA continuación, veremos cómo hacer un ataque XSS persistente en DVWA.
¿Cómo hacer un ataque XSS persistente en DVWA?
El primer paso para aprender cómo hacer un ataque XSS persistente es instalar la aplicación de DVWA en una máquina virtual con sistema operativo Kali Linux. Para ello, visita nuestro tutorial sobre cómo instalar DVWA en Kali. Una vez instalado, verifica en la pestaña de «Set up» que la seguridad de la página esté configurada en «Low».
Ahora, dirígete a la pestaña de la página que dice «XSS (Stored)» y haz clic en ella. Allí, encontrarás dos entradas de datos que se almacenan en la página:
- Name.
- Message.
Y, después de estos campos, aparecen dos botones:
- Sign Gestbook.
- Clear Gestbook.
Es decir, la página simula ser una especie de foro, donde se guardan los mensajes escritos por los visitantes. Sin embargo, si los inputs de los usuarios no son validados correctamente, estas entradas nos pueden permitir ejecutar código JavaScript en el navegador de quienes visiten la página. Esto lo haremos del siguiente modo.
- Intercepta las peticiones con Burp Suite. La manera más sencilla de hacerlo es abrir el programa, que viene preinstalado en Kali, y ejecutar el navegador que tiene incorporado en su última versión. Desde allí, acceder a la página de DVWA.
- Envía un comentario cualquiera al Guestbook de la aplicación.
- Intercepta la petición en Burp Suite y envíala al módulo «Repeater» con clic derecho y «Send to repeater».
- En el módulo repeater, modifica el mensaje que enviaste por el payload en JavaScript que encontrarás al final de esta lista.
- Envía la petición modificada en el repeater y elimina la petición original.
El payload que puedes utilizar para este ejercicio es:
<script>window.location.replace("http://www.google.com");</script>
Con este código de JavaScript, redirigiremos todo el tráfico de clientes que deseen ingresar a esa pestaña de la aplicación hacia la página de Google. Del mismo modo, un atacante podría usar esta vulnerabilidad para redirigir el tráfico hacia sitios web maliciosos.
¿Cómo aprender más?
Ya hemos visto cómo hacer un ataque XSS persistente en DVWA. Si quieres aprender a hacer más ataques de cross-site scripting y otras técnicas de hacking web, en KeepCoding tenemos el mejor curso intensivo para ti. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y descubre cómo convertirte en un especialista en tan solo 7 meses. Aprende sobre temas como recopilación de información, red team/blue team, criptografía, análisis de malware, pentesting y mucho más. ¡No sigas esperando para solicitar información e impulsa tu futuro ahora!