¿Se puede descubrir un directorio no listado en el servidor web?

2

Supongamos el siguiente directorio de muestra:

- /
- /images
- /28374728127636438
- /css

La lista de directorios está deshabilitada en el servidor y el directorio llamado 28374728127636438 nunca se vinculó en ninguna parte de la página web real. Este directorio contiene el backend del sitio web. Está asegurado por un inicio de sesión http y php http, pero ¿puede un atacante encontrar este directorio? ¿Hay algún método para forzar a un servidor web a listar archivos y directorios? ¿Funciona la seguridad a través de la oscuridad en este caso?

editar

Nota: Estoy en alojamiento web compartido. No puedo controlar nada fuera de mi carpeta htdocs y solo tengo .htaccess disponible. Todos los directorios que contienen PHP o código de plantilla tienen una

deny from all

en su .htaccess y otras carpetas tienen un index.html vacío junto con options -Indexes para evitar la publicación.

    
pregunta DeleteMe 02.09.2014 - 10:13
fuente

3 respuestas

7

Podría decirse que si hay suficiente entropía en el nombre de la carpeta, puede proporcionar algún beneficio en un enfoque de seguridad en capas (es decir, uno de los muchos controles que ha implementado). Si lo hace, puede ayudar a reducir el "ruido" de los atacantes que realmente no representan una amenaza importante, sin embargo, no puede depender de que el atacante no encuentre el nombre de la carpeta porque puede filtrarse con mucha facilidad.

Por ejemplo, el nombre del directorio se puede filtrar a través del Encabezado de referencia HTTP o se puede filtrar si su aplicación tiene una vulnerabilidad que permite a un atacante enumerar directorios.

Si el contenido de este directorio es importante, use autenticación fuerte y control de acceso. Recomiendo implementar la lista blanca de IP, si es posible, y si estos son recursos estáticos a los que debe acceder el público (por ejemplo, adjuntos), entonces guárdelos fuera de la raíz del documento y haga que su aplicación sea proxy (es decir, lea y produzca) a los usuarios siguiendo la autenticación apropiada.

    
respondido por el thexacre 02.09.2014 - 11:54
fuente
1

Bueno, una forma en que puede descubrirse es a través de los clientes que acceden a él.

Entonces, si un usuario navega a su directorio desde una máquina que se comparte, por ejemplo, o tiene malware instalado o (asumiendo que no está usando SSL) está en una red inalámbrica, entonces el nombre del directorio podría ser accesible a un atacante.

Un usuario puede compartir inadvertidamente un enlace a este directorio en el correo electrónico como fondo de una captura de pantalla de otros datos en su máquina, etc.

Un usuario puede iniciar sesión en su navegador, que luego sincroniza el historial de su navegador con otras máquinas en las que está conectado y en la "nube".

Por estas razones, no me basaría en la oscuridad de un nombre de directorio como medio para asegurar el acceso a un servidor web, el inicio de sesión y la autenticación que usted mencionó deberían ser los controles principales.

    
respondido por el Rоry McCune 02.09.2014 - 16:29
fuente
0

El forzado de directorio puede usarse para enumerar el directorio, esto se puede hacer usando herramientas como Buster de Directorio para Enumeración de Directorio Estas herramientas tienen millones de palabras de listas, que se refuerzan en el sitio web, para enumerar directorios. Esto se hace a una velocidad rápida.

Para contrarrestar esto, haga que el nombre del directorio sea lo más complejo posible para evitar quedar atrapado en las herramientas de fuerza bruta del directorio

    
respondido por el Haider Qureshi 02.09.2014 - 14:57
fuente

Lea otras preguntas en las etiquetas