Los endpoints /database.sql y /dump.sql no son archivos nativos de WordPress. Su presencia en tu servidor, sobre todo si son accesibles desde el navegador, es una señal de alerta de seguridad muy grave. Son, con alta probabilidad, archivos de copia de seguridad de la base de datos que se han dejado en un lugar público.

¿Qué son y por qué son un peligro?

Copias de seguridad de la base de datos: Estos archivos contienen un volcado (dump) de toda la base de datos de tu WordPress. Suelen tener nombres genéricos como database.sql, dump.sql o backup.sql, lo que los convierte en un objetivo muy fácil para los atacantes.

Contenido extremadamente sensible: Dentro de un archivo .sql se encuentra toda la información crítica de tu sitio:

  1. Hashes de contraseñas de todos los usuarios (administradores incluidos).
  2. Datos personales de los usuarios, como correos electrónicos.
  3. Contenido de publicaciones privadas y datos de clientes.
  4. Información de configuración del sitio.

Las consecuencias de una exposición

Que un atacante consiga descargar este archivo es un escenario "game over" para la seguridad de tu sitio.

Compromiso total del sitio: Con la base de datos en su poder, el atacante tiene toda la información necesaria para tomar el control de tu WordPress, robar datos o suplantar a tus usuarios.

Incumplimiento legal: La fuga de datos personales de tus usuarios puede acarrear graves problemas legales, como multas por incumplimiento del GDPR, y obligarte a notificar a las autoridades de protección de datos.

Objetivo de ataques automatizados: Los bots y los atacantes escanean constantemente la web en busca de estos archivos con nombres predecibles (backup.sql, database.sql, dump.sql, etc.). Es un blanco demasiado fácil.

¿Cómo comprobar si están expuestos?

Puedes comprobar manualmente estas URLs:

https://ejemplo.com/database.sql https://ejemplo.com/dump.sql https://ejemplo.com/backup.sql https://ejemplo.com/db.sql https://ejemplo.com/database_backup.sql

Resultados esperados:

404 Not Found ✅ Correcto. 403 Forbidden ✅ Correcto. 200 OK iniciando la descarga ❌ Vulnerabilidad crítica.

¿Cómo llegan ahí y qué debes hacer?

¿Cómo llegan?

Pueden ser el resultado de una exportación manual que no se eliminó, o de un plugin de respaldos que los guarda en una ubicación incorrecta. Por ejemplo, se ha documentado que el popular plugin Duplicator deja un archivo database.sql en el directorio raíz después de una restauración si no se elimina manualmente.

También hay vulnerabilidades conocidas en plugins de backups que permiten a atacantes, incluso sin autenticación, forzar la creación de estos archivos en directorios públicos y descargarlos. Un caso reciente afecta al plugin "Database Backup for WordPress" (CVE-2026-4031), que permite a un atacante robar el archivo de backup si el administrador tiene programadas copias de seguridad.

Pasos a seguir ahora mismo:

  1. Verifica la exposición: Intenta acceder a las URLs https://tudominio.com/database.sql y https://tudominio.com/dump.sql desde un navegador. Si ves contenido o se descarga un archivo, está expuesto.
  2. Elimina los archivos: Si encuentras estos archivos en tu servidor (en la raíz, en /wp-content/backups/ o en cualquier otra carpeta pública), bórralos inmediatamente. No los dejes, aunque pienses que ya no sirven.
  3. Busca otros backups: Los atacantes también buscan muchos otros nombres comunes, como backup.sql, db_backup.sql o archivos comprimidos como .zip, .tar.gz o .rar.
  4. Audita tu sitio: Si has confirmado que el archivo era accesible, asume que un atacante pudo haberlo descargado. Cambia todas las contraseñas de administradores, usuarios, base de datos y hosting. Revisa los logs de acceso de tu servidor para ver si el archivo ha sido solicitado por IPs desconocidas.

Bloquear el acceso

Apache (.htaccess):

<FilesMatch "\.(sql|bak|zip|tar|gz)$"> Require all denied </FilesMatch>

Nginx:

location ~* \.(sql|bak|zip|tar|gz)$ { deny all; return 403; }

Cómo proteger tu sitio a futuro

Nunca guardes backups en la raíz pública: Esta es la regla de oro. Las copias de seguridad deben almacenarse siempre fuera del directorio público de tu web (public_html o www).

Usa nombres de archivo aleatorios: Si por algún motivo debes guardar un backup en el servidor, asegúrate de que el nombre del archivo sea una cadena larga y aleatoria, que un atacante no pueda adivinar.

Actualiza tus plugins: Mantén todos tus plugins, especialmente los de respaldos, actualizados a sus últimas versiones para protegerte de vulnerabilidades conocidas como las mencionadas anteriormente.

Escanea tu sitio con WPScan: Esta herramienta de seguridad está diseñada para encontrar este tipo de archivos expuestos. Puedes ejecutarla desde la línea de comandos con wpscan --url http://tudominio.com/ -e dbe o usar el plugin de WPScan para WordPress, que comprueba 36 ubicaciones y nombres de archivo de backup diferentes.

La exposición de un archivo database.sql o dump.sql es uno de los hallazgos más graves que puede detectar un escáner de seguridad, ya que puede permitir el acceso a toda la información almacenada en la base de datos del sitio WordPress.