Ejemplo de cross-site request forgery

Autor: | Última modificación: 19 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

El siguiente ejemplo de cross-site request forgery está hecho con fines educativos. El uso de técnicas de hacking web en entornos no autorizados es una acción ilegal. Por eso, veremos cómo funciona este ciberataque en una aplicación legal de práctica, diseñada especialmente para aprender cómo funcionan estas técnicas sin perjudicar a nadie.

El hacking web se utiliza para identificar los fallos de seguridad de una aplicación y sus niveles de riesgo. Para ello, es necesario aprender las técnicas que utilizan los atacantes para vulnerar páginas web.

En este post, te explicaremos cómo funciona un ciberataque bastante común que permite ejecutar tareas en una aplicación de forma no autorizada. A continuación, te explicaremos un ejemplo de cross-site request forgery por medio de un ataque a un entorno de práctica de hacking web.

Algo de contexto

El cross-site request forgery (CSRF) es un ciberataque web que consiste en realizar tareas dentro de una aplicación por medio de la ejecución de un enlace en el navegador de la víctima. El payload de este ciberataque se ejecuta por medio de un enlace que se crea a partir de una petición que contiene la acción maliciosa planeada por la víctima. Para entender de manera práctica cómo todo esto es posible, a continuación veremos un ejemplo de cross-site request forgery en la aplicación deliberadamente vulnerable DVWA.

¿Qué es DVWA?

Damn Vulnerable Web App (DVWA) es una aplicación web con vulnerabilidades que fue diseñada de este modo a propósito, con el fin de poder practicar ciberataques en ella de forma legal y segura. En este ejemplo, usaremos esta app con el objetivo de entender cómo funciona un ataque de CSRF.

Ejemplo de cross-site request forgery

Para este ejemplo de cross-site request forgery, utilizaremos:

  1. Una máquina virtual con la última versión del sistema operativo para pentesting Kali Linux.
  2. Una máquina virtual preconfigurad, llamada Metasploitable 2, que tiene DVWA preinstalada en su servidor.

Paso a paso

  • Primero, en nuestra máquina con Kali Linux, abriremos el programa Burp Suite, que viene preinstalado en el sistema. Con este, abriremos un navegador especial, ingresando en la pestaña «Proxy» y escogiendo la opción «Open browser«.
Ejemplo de cross-site request forgery
  • Se abrirá un navegador de Google Chorme con un icono azul. Desde este, accederemos a la dirección IP de la máquina virtual Metasploitable 2 (que puedes averiguar ejecutando el comando «ifconfig» en su terminal»). Al entrar en esta página, verás lo siguiente:
Ejemplo de cross-site request forgery
  • Abriremos el enlace de DVWA e iniciaremos sesión con las credenciales por defecto: «admin» y «password«.
Ejemplo de cross-site request forgery
  • Iremos a la pestaña de «DVWA Security» y eligiremos la opción «Low«.
Ejemplo de cross-site request forgery
  • Después, nos dirigiremos a la pestaña de CSRF, donde encontraremos la vulnerabilidad de cross-site request forgery para este ejemplo.
Ejemplo de cross-site request forgery
  • Como verás, la aplicación nos permite cambiar nuestra contraseña sin necesidad de validar la anterior. Esto es una vulnerabilidad que nos permitirá asignarle la contraseña que queramos a cualquier usuario que ejecute el enlace que produciremos.
  • Pare ello, iremos a la ventana de Burp Suite y activaremos el botón «Intercept is on» para empezar a capturar las peticiones.
Ejemplo de cross-site request forgery
  • Después, regresaremos a DVWA y asignaremos la nueva contraseña que queramos.
Ejemplo de cross-site request forgery
  • Para este ejemplo de cross-site request forgery, elegiremos la contraseña «payload123«, pero, en realidad, puedes elegir la que desees. Daremos clic en «Change» y volveremos a Burp para ver la petición.
Ejemplo de cross-site request forgery
  • En Burp Suite, haz clic derecho sobre la petición interceptada y selecciona la opción «Copy URL«. Esto creará un enlace que, al ser ejecutado por un usuario, cambiará inmediatamente su contraseña por la que hayamos elegido. Dicho enlace se verá como este:
http://192.168.175.130/dvwa/vulnerabilities/csrf/?password_new=payload123&password_conf=payload123&Change=Change

¿Cómo aprender más?

Ya hemos visto un ejemplo de cross-site request forgery por medio de un entorno de práctica de hacking web. Si quieres aprender más técnicas como esta, ingresa a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en un experto en tan solo 7 meses. ¡No sigas esperando e inscríbete ahora para impulsar tu carrera!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado