XSS persistente en DVWA

Autor: | Última modificación: 14 de noviembre de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

¿Cómo hacer un ataque XSS persistente en DVWA?

Este tutorial de cómo hacer un ataque XSS persistente en DVWA está hecho con fines académicos. El uso de estas técnicas fuera de entornos web autorizados es ilegal. Por ende, te enseñaremos a realizar el siguiente ejercicio en un entorno de práctica de hacking web de carácter seguro y legal.

Damn Vulnerable Web App (DVWA) es una aplicación construida con la intención de que se utilice para hacer prácticas de hacking web. De este modo, se puede aprender más y entender cómo actúan los ciberatacantes en la web. En esta app encontraremos vulnerabilidades deliberadas para ataques de cross-site scripting, fuerza bruta, inyección de comandos y mucho más.

En este post, te explicaremos el proceso para ejecutar un ataque de XSS persistente en DVWA. Pero antes, repasaremos en qué consiste el cross-site scripting y a qué se debe el término persistencia cuando nos referimos a este ataque.

¿Qué es el cross-site scripting?

El cross-site scripting (XSS) es un ciberataque web que consiste en inyectar código JavaScript en el navegador de una víctima, por medio del uso de un aplicación vulnerable. No obstante, existen tes tipos de XSS:

  • XSS reflejado: el payload se incrusta en una dirección URL y, por lo tanto, solo afecta a los que abran un enlace determinado.
  • XSS basado en DOM: el Document Object Model es una interfaz de programación de aplicaciones que se encuentra del lado del cliente y permite interactuar con el frontend de su código. En ocasiones, dicha API puede usarse para inyectar código JavaScript.
  • XSS persistente: el payload se almacena en las bases de datos de la aplicación por medio de entradas que permanecen siempre en la página, como comentarios, foros, etc.

Ahora, veremos un ejercicio de XSS persistente en DVWA para notar la diferencia entre estos ataques.

XSS persistente en DVWA

Preparación

Para preparar tu entorno virtual de práctica de hacking web:

  1. Instala una máquina virtual con la última versión de Kali Linux.
  2. Instala la aplicación DVWA en Kali Linux.

Ejecución

🔴 ¿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 semana

Abre el programa Burp Suite, que viene preinstalado en Kali Linux. Allí, accede a la pestaña Proxy y selecciona la opción «Open browser» para abrir un navegador.

Inicia sesión con las credenciales por defecto, que son «admin» y «password«.

XSS persistente en DVWA 1

Antes de comenzar el ataque, ve a la pestaña de «DVWA Security» y escoge la opción «Low«, de la siguiente forma:

XSS persistente en DVWA 2

Una vez hecho esto, dirígete a la pestaña que dice «XSS Stored«. Allí ejecutaremos el ataque de XSS persistente en DVWA.

XSS persistente en DVWA 3

En esta página, encontraremos un foro que permite almacenar inputs de los usuarios en la aplicación. Como pentesters, al ver esto debemos preguntarnos si es posible ejecutar código en el navegador por medio de dicho input. En caso de que sí, es posible hacer un payload que afecte a todo aquel que ingrese a la página vulnerada.

Para ello, abre la ventana de Burp Suite y activa la opción «Intercept is on«.

XSS persistente en DVWA 4

Luego, regresa al navegador de Burp e ingresa cualquier comentario en la aplicación del siguiente modo:

XSS persistente en DVWA 5

Cuando hayas hecho la entrada, haz clic en el botón «Sign Guestbook» y dirígete a la ventana de Burp Suite para ver la petición interceptada.

XSS persistente en DVWA 6

Haz clic derecho sobre la petición y escoge la opción «Send to Repeater«. Luego, ve a la pestaña «Repeater» para modificar el contenido de la petición desde allí.

En el Repeater, modificaremos el comentario que hicimos a través de la petición. El motivo para esto es que nos permitirá exceder el número de caracteres que autoriza la aplicación. Así, podremos inyectar un payload más largo, como el siguiente:

<script>window.location.replace("http://www.google.com");</script>
XSS persistente en DVWA 7

Nota el cambio en la última línea de la petición, donde hemos modificado el comentario por el código JavaScript que elegimos como payload. Dicho código le indica al navegador de la víctima que se debe redirigir a la página de http://www.google.com.

XSS persistente en DVWA 8

¿Cómo aprender más?

Ahora sabes cómo hacer un ataque de XSS persistente en DVWA. Si quieres aprender más sobre hacking web, entra nuestro Ciberseguridad Full Stack Bootcamp y conviértete en un profesional en pocos meses. ¡No sigas esperando para cambiar tu vida e inscríbete ya!

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.