Preguntas frecuentes

Categoría 1: Instalación y Configuración Inicial

Q1: ¿Por qué no puedo acceder a DVWA en http://localhost/dvwa?
R: Los errores más comunes son:

  • Servidor web no iniciado: Asegúrate de que XAMPP, WAMP o MAMP estén ejecutándose (Apache y MySQL en verde).
  • Puerto bloqueado: Verifica que no haya otro software usando el puerto 80 o 443. Puedes acceder probando http://127.0.0.1/dvwa o http://localhost:8080/dvwa si cambiaste el puerto.
  • Carpeta incorrecta: Confirma que la carpeta dvwa esté dentro del directorio htdocs (XAMPP) o www (WAMP).

Q2: Al intentar configurar la base de datos (setup.php) me da el error «Access denied for user ‘root’@’localhost'».
R: Las credenciales por defecto de MySQL pueden no ser correctas. Ve al archivo config/config.inc.php dentro de la carpeta de DVWA y verifica o cambia estas líneas:

$_DVWA[ ‘db_user’ ] = ‘root’;
$_DVWA[ ‘db_password’ ] = »; // La contraseña suele estar vacía en entornos locales, pero en algunos casos es ‘root’ o ‘password’.

Reinicia MySQL después de cualquier cambio.

Q3: ¿Qué significa y cómo cambio el «nivel de seguridad» (Security Level)?
R: El nivel de seguridad (lowmediumhighimpossible) simula diferentes protecciones en el servidor (como filtros de entrada). No es una configuración de DVWA, sino parte del laboratorio. Cámbialo desde la página «DVWA Security» en el menú, una vez que hayas iniciado sesión. Esto es fundamental para practicar ataques contra distintas defensas.


Categoría 2: Uso y Práctica

Q4: ¿Puedo usar DVWA en un servidor en línea/para el público?
R: ¡ABSOLUTAMENTE NO! DVWA es intencionadamente vulnerable. Si la instalas en un servidor accesible desde Internet, estarás exponiendo una máquina extremadamente débil a atacantes reales, pudiendo convertirte en un eslabón para otros ataques o tener problemas legales. Siempre debe usarse en un entorno local y aislado (localhost, máquina virtual privada).

Q5: ¿Por qué algunos retos (como SQL Injection) no funcionan en niveles medium o high?
R: ¡Esa es la idea! En niveles más altos, la aplicación implementa defensas básicas (como mysql_real_escape_string() o tokens CSRF). Tu desafío es estudiar el código fuente (haz clic en el botón «View Source» o «View Help») para entender la protección y buscar formas de evadirla o bypassearla. Por ejemplo, en SQL Injection (Medium), tendrás que usar herramientas como Burp Suite para modificar la petición, ya que el formulario usa un POST.

Q6: ¿Para qué sirve el botón «View Source» / «View Help»?
R: Es la herramienta de aprendizaje más importante de DVWA.

  • View Source: Te muestra el código PHP/HTML del reto. Te permite ver cómo se implementa la vulnerabilidad y, en niveles altos, qué protecciones se están aplicando.
  • View Help: Te da pistas teóricas y enlaces a recursos como OWASP para entender la vulnerabilidad en profundidad. ¡Úsalos siempre!

Q7: ¿Necesito herramientas externas como Burp Suite o sqlmap?
R: Para los niveles low, muchas veces no. Pero para niveles medium y high, y para un aprendizaje profesional, son esenciales. Burp Suite te permite interceptar y modificar peticiones, lo que es clave para evadir protecciones en el cliente. sqlmap automatiza la explotación de inyección SQL. Tu guía puede recomendar su uso en secciones avanzadas.


Categoría 3: Solución de Problemas

Q8: Recibo un mensaje «The requested URL was not found on this server» al hacer clic en un ejercicio.
R: Esto suele pasar si estás usando PHP 8 o superior. DVWA es antigua y algunas funciones están obsoletas. Busca en el archivo de log de Apache (error.log) el error exacto. Soluciones comunes:

  1. Bajar a PHP 5.4 o 7.x (recomendado para compatibilidad total).
  2. Corregir manualmente los warnings en el código (ej: reemplazar mysql_* functions si usas un parche moderno, pero es más complejo).

Q9: ¿Por qué el botón «Create / Reset Database» a veces no hace nada o da error?
R: Asegúrate de que:

  1. MySQL esté corriendo.
  2. Las credenciales en config.inc.php sean correctas (ver Q2).
  3. El usuario de MySQL (ej: root) tenga permisos para crear y modificar bases de datos.
    Si persiste, puedes importar manualmente la base de datos desde el archivo setup.sql que está dentro de la carpeta dvwa.

Q10: ¿Es DVWA suficiente para aprender hacking web?
R: Es un excelente punto de partida, pero no es suficiente. DVWA te enseña vulnerabilidades clásicas de forma aislada. Para aprender a fondo, debes:

  1. Complementarla con otras Web Apps vulnerables (OWASP Juice Shop, Web Security Academy de PortSwigger, PentesterLab).
  2. Practicar en plataformas tipo CTF (TryHackMe, HackTheBox).
  3. Leer la OWASP Top 10 y la OWASP Testing Guide.
  4. ¡Escribir código! Entender cómo se programa una vulnerabilidad te hará mejor a la hora de explotarla.