El endpoint /wp-uploads.php no es un archivo estándar del núcleo de WordPress y su presencia en tu sitio web es una señal de alerta de seguridad muy grave.

¿Qué es y por qué debería preocuparte?

En una instalación limpia de WordPress, no existe un archivo llamado wp-uploads.php en la raíz. Los directorios y archivos principales que componen el núcleo de WordPress son bien conocidos e incluyen carpetas como wp-admin, wp-includes y wp-content, y archivos como wp-config.php, wp-cron.php o wp-login.php.

El hecho de que encuentres este archivo sugiere una de las siguientes posibilidades, ambas peligrosas:

  1. Es un archivo malicioso (backdoor): Un atacante puede haber subido este archivo a tu servidor para ejecutar código PHP arbitrario y tomar el control de tu sitio. Es común que este tipo de archivos maliciosos se oculten en el directorio wp-content/uploads, y wp-uploads.php podría ser su nombre para pasar desapercibido.
  2. Es un archivo huérfano de un plugin o tema: Aunque es menos probable, podría haber sido creado por algún plugin o tema que ya no utilizas. Sin embargo, por su nombre, que no coincide con ningún componente estándar, es altamente sospechoso.

⚠️ Riesgo de seguridad principal

Un archivo PHP en el directorio de uploads (o con un nombre similar en la raíz) es casi siempre un vector de ataque. La carpeta wp-content/uploads está diseñada para almacenar medios (imágenes, documentos), no scripts ejecutables. Por eso, las buenas prácticas de seguridad recomiendan bloquear la ejecución de archivos PHP en ella. Si este archivo está accesible, un atacante podría:

  1. Ejecutar comandos en el servidor.
  2. Robar o modificar la base de datos.
  3. Instalar malware en tu sitio y en los ordenadores de tus visitantes.
  4. Usar tu servidor para otros fines maliciosos, como ataques de denegación de servicio (DDoS).

Backdoor o malware (el caso más preocupante)

Un Backdoor (Puerta trasera) es un script malicioso que permite a un atacante entrar a tu servidor cada vez que lo desee.

Los atacantes suelen nombrar las puertas traseras con nombres que parecen archivos legítimos de WordPress para pasar desapercibidos.
Ejemplos frecuentes:

wp-admin.php wp-content.php wp-loads.php wp-upload.php wp-uploads.php wp-configs.php wp-settings1.php

¿Cómo comprobar si es sospechoso?

Si puedes acceder al servidor:

  1. Comprueba cuándo se creó el archivo.
  2. Revisa su contenido.
  3. Verifica si pertenece a algún plugin o tema instalado.
  4. Busca funciones peligrosas como:
    eval() base64_decode() gzinflate() assert() system() exec() shell_exec() passthru() create_function()

También es sospechoso encontrar:

  1. Código muy ofuscado.
  2. Largas cadenas en Base64.
  3. Variables con nombres aleatorios.
  4. Uso intensivo de $_POST, $_GET o $_REQUEST para ejecutar código.

¿Qué debes hacer ahora mismo?

Identifica qué componente lo creó. Si no pertenece a ningún plugin que tengas instalado en WordPress, entonces eliminalo.

  1. No lo ejecutes ni lo abras desde el navegador.
  2. limínalo inmediatamente desde el administrador de archivos de tu hosting o por FTP. No lo renombres ni lo muevas; bórralo por completo.
  3. Realiza una auditoría de seguridad completa de tu sitio web. Esto incluye:

    ☛ Cambiar todas las contraseñas (hosting, base de datos, usuarios de WordPress, FTP).

    ☛ Verificar que todos los plugins, temas y el núcleo de WordPress estén actualizados a sus últimas versiones. Una vulnerabilidad en versiones antiguas es una de las principales puertas de entrada para estos ataques.

    ☛ Revisar si hay otros archivos extraños en tu instalación.
  4. Implementa medidas de prevención a futuro:

    Bloquea la ejecución de PHP en uploads: Puedes hacerlo añadiendo reglas en tu archivo .htaccess (para servidores Apache) o configurando tu archivo nginx.conf (para servidores Nginx) para denegar el acceso a cualquier archivo .php dentro de esa carpeta. Esta es una medida de seguridad estándar muy efectiva.
  5. Instala un plugin de seguridad: Herramientas como Wordfence o Sucuri pueden ayudarte a escanear y monitorear tu sitio en busca de malware.