Hay muchos otros métodos (por supuesto) para atacar a los servidores web, pero vamos a limitarnos al método en el que está interesado: obtener algún archivo en el servidor y hacer que el servidor lo ejecute. El control de acceso principal que evita la destrucción total de los servidores web es permisos de archivo , y un control secundario importante son las instrucciones de tipo de medio en el servidor web. Estoy explicando cómo funcionan estos en Linux / Unix, que representa la mayoría de los servidores web en uso .
En términos generales, su directorio web donde se encuentran los archivos que constituyen su sitio web (generalmente algo como / var / www para instalaciones simples) tendrá permisos que controlan qué usuarios pueden leer, escribir y ejecutar archivos.
Un sistema configurado correctamente tendrá permisos que permiten solo las operaciones que se requieren, y nada más. Eso significa que un usuario malintencionado no podría cargar su carga maliciosa, porque no tendría acceso de escritura.
¿Quizás el administrador del servidor web cometió un error con los permisos de archivo? La segunda capa de seguridad es tipo de medios instrucciones . Entonces, incluso después de cargar un pseudo-shell PHP como " phpshell ", es posible que se le haya dicho al servidor web no ejecutar ningún archivo PHP . (por ejemplo, algo como "AddType text / plain php").
Para el alojamiento compartido, la medida de seguridad más común es, de hecho, deshabilitando PHP (por cualquier método). Además, muchos proveedores de alojamiento proporcionan una única máquina virtual para cada cliente, por lo que incluso si se las arregla para rootear la máquina virtual de alguna manera, no puede acceder a ninguna otra máquina virtual o al host de la máquina virtual.