Llevamos bastante tiempo encontrándonos tanto en servidores completos como en cuentas de hosting archivos que aparecen repentínamente y sin consentimiento del propietario del sitio web.

Estos archivos siempre suelen estar dentro de las carpetas public_html, webroot o httpdocs., y supone un problema ya que generalmente son archivos que contienen scripts malintencionados que pueden hacer que se colapse un servidor, se suspenda una cuenta de hosting o haga envíos masivos a diferentes cuentas con la cuenta por smtp defecto de php.

¿Cual es el motivo de que puedan escribir libremente en algunas carpetas?

Si tenemos carpetas dentro del directorio public_html, webroot o httpdocs con permisos de escritura para todo el mundo, (por ejemplo 777, 767, 757 , etc) es posible mediante el método PUT del protocolo HTTP escribir dentro de esas carpetas y subir scripts disfrazados de imágenes jpg etc y ejecutarlos con los permisos del usuario apache

¿Como solucionar este problema?

Para solucionar este problema debemos hacer o siguiente:

  1. Borrar todas las carpetas y archivos que estén subidos sin nuestro permiso.
  2. Poner permisos 755 a las carpetas  y 644 a todos los archivos que no necesiten permisos especiales
  3. A las carpetas que necesiten permisos especiales y estén dentro del public_html debemos crear un archivo .htaccess para protejerla con el siguiente contenido:
    <files *>
    order allow,deny
    deny from all
    </files>
  4. Si nuestro proveedor de hosting no nos permite introducir archivos .htaccess debemos solicitarle que inhabilite el método PUT del protocolo HTTP si le es posible.

Con estos sencillos pasos solucionaremos el grave problema de ser dejar vulnerable en nuestro servidor o nuestra cuenta de hosting por los permisos.