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/dvwaohttp://localhost:8080/dvwasi cambiaste el puerto. - Carpeta incorrecta: Confirma que la carpeta
dvwaesté dentro del directoriohtdocs(XAMPP) owww(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 (low, medium, high, impossible) 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:
- Bajar a PHP 5.4 o 7.x (recomendado para compatibilidad total).
- 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:
- MySQL esté corriendo.
- Las credenciales en
config.inc.phpsean correctas (ver Q2). - 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 archivosetup.sqlque está dentro de la carpetadvwa.
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:
- Complementarla con otras Web Apps vulnerables (OWASP Juice Shop, Web Security Academy de PortSwigger, PentesterLab).
- Practicar en plataformas tipo CTF (TryHackMe, HackTheBox).
- Leer la OWASP Top 10 y la OWASP Testing Guide.
- ¡Escribir código! Entender cómo se programa una vulnerabilidad te hará mejor a la hora de explotarla.
