Desde hace unos pocos meses cada vez más veo hackeos en los WordPress. No tengo muy claro si es un problema interno del propio WordPress o si es de algún plugin (sí que me he encontrado en algún caso problemas con algunas plantillas que no estaban actualizadas y que usaban software externo para subir ficheros).
La cuestión es que como a veces e difícil darse cuenta de si te han colado algún bicho, me propuse hace un par de días a hacer una pequeña y simple mejora que, en general, debe de funcionar. La idea es sencilla: no dejar funcionar el PHP en las carpetas de subida de ficheros.
En general los usuarios tienen configurada la carpeta /wp-content/uploads/
y todo lo que suele haber aquí son imágenes o ficheros binarios, pero nada ejecutable. Si este es el caso, se puede incluir un fichero .htaccess
en esta carpeta con el siguiente contenido:
RewriteEngine off
RemoveHandler .php
RemoveType .php
php_flag engine off
Básicamente aquí se consiguen varias cosas: que no funcione el «mod_rewrite», que PHP no pueda ejecutar los ficheros PHP y, de paso, directamente apagar el PHP en estas carpetas.
Seguramente este fichero se podrá subir en algunas otras carpetas dentro de toda la estructura, aunque mi recomendación es que sólo se aplique a las carpetas a las que el usuario tiene acceso (¡cuidado! que depende de cómo esta configuración se hereda en subcarpetas) y en las carpetas de caché.
Deja una respuesta