Todo sobre la infección por subida de archivos SHELL

Vulnerabilidad Shell: Guía completa sobre esta infección de PHP

¿Necesitas desinfectar tu página web?

Si tu página web ha sido infectada o quieres prevenirte frente a ciberataques no dudes en escribirnos.

¿Qué es una vulnerabilidad Shell?

Las vulnerabilidades de carga de Shell permiten a un atacante cargar un archivo PHP malicioso y ejecutarlo accediendo a él a través de un navegador web.

De hecho, un “shell” es un script PHP que permitirá al atacante controlar tu servidor o página web. Por lo tanto, un “shell” es en esencia un programa de puerta trasera similar en funcionalidad a un troyano.

Por suerte, las vulnerabilidades de carga de shell son muy fáciles de encontrar ya que las subidas de archivos generalmente se realizan mediante la función move_uploaded_file () por lo que la búsqueda de llamadas a esa función podrá revelar código que podría ser potencialmente vulnerable.

¿Por qué he sido infectado mediante un ataque shell?

Los hackers determinarán si tu página web es susceptible de ser atacada mediante una subida de archivo shell buscando en el código de tu página web las llamadas a move_uploaded_file () para poder abusar de la funcionalidad de carga de archivos.

También podrán utilizar la función copy () para archivos subidos en versiones anteriores de PHP aunque esta forma es mucho menos común.

Nota: Algunos desarrolladores amateur cometen el error de simplemente subir archivos en alguna carpeta del servidor web dejando expuesta la página web a un ataque de shell.

¿Cómo prevenir un ataque Shell?

Para evitar vulnerabilidades de carga de shell busca en el código de tu página web las llamadas a move_uploaded_files () y refuerza la defensa en este código.

Nota: Se recomienda crear una hoja de cálculo que enumere todo el código que se puede usar para cargar archivos en la página web para tener el control de la seguridad de tu página web.

Además, los siguientes consejos te ayudarán a defenderte de las vulnerabilidades de carga de shell:

  • Utilizar la autenticación a la hora de subir archivos: Asegúrate de que la función move_uploaded_files () no se ejecutará a menos que un usuario autenticado válido acceda al script.
  • Almacenar los archivos subidos a una zona no accesible desde la página web. Colocar los archivos cargados un nivel por encima de la carpeta raíz web hará inaccesibles dichos archivos desde la página web. Otra opción será almacenar los archivos cargados en una base de datos.
  • Codifica los nombres y extensiones de archivos subidos a tu página web. Evita los archivo .php que puedan ser ejecutables.
  • Define los tipos de archivos que los usuarios podrán  cargar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Consigue un 10% de descuento para desinfectar tu página web ¡Ya no tendrás excusas!