¿Cuál es el daño real en la lista de directorios abiertos? ¿Qué puede hacer un atacante aquí?

2

Hay ocasiones en que los directorios se dejan públicamente accesibles de manera intencional. ¿Qué hay de malo aquí? ¿Cómo es esto incluso considerado un defecto?

Sé que puede divulgar información confidencial desde el servidor, ¿por qué a veces se deja al público de manera intencional?

    
pregunta Ashwin 14.06.2018 - 22:24
fuente

3 respuestas

2

Porque tiene sentido hacerlo cuando tiene sentido hacerlo. La práctica habitual es deshabilitarlo y solo habilitarlo para los directorios que específicamente desee para evitar la divulgación accidental de información, pero, por supuesto, no tener una lista de directorios no impide que accedan. su /admin/err.log o lo que sea porque todavía puede adivinar las rutas de los archivos. Por ejemplo, podría tener un directorio donde almacenar imágenes de sus empleados con nombres de archivos aleatorios para evitar que las personas desechen su sitio web (pero aún así les permita acceder a imágenes individuales cuando sea necesario). Si no deshabilita la lista de directorios (y normalmente no tiene index.html), un atacante podría obtener fácilmente una lista de todos los empleados de esa manera.

    
respondido por el mroman 15.06.2018 - 11:04
fuente
1

Pocas cosas son siempre buenas o malas siempre. Depende del contexto.

Si los archivos en su directorio son solo archivos estáticos que usted desea que sus usuarios puedan descargar, entonces activar el listado de directorios está bien. Esto es bastante común por ej. distribuciones de software, donde puede tener diferentes carpetas para diferentes versiones, sistemas operativos, etc. No es perjudicial permitir que el usuario navegue por ellas, es probablemente el caso de uso para el que creó el sitio.

Por otro lado, si está alojando algo más complejo, como una aplicación web dinámica, activar el listado de directorios es probablemente una mala idea. Se arriesga a exponer la estructura interna del programa o, peor aún, a todo tipo de archivos de configuración o registro que contienen datos confidenciales. Es fácil filtrar accidentalmente su contraseña de DB de esta manera.

Otro aspecto a tener en cuenta es que la lista de directorios probablemente telegrafiará qué servidor web está utilizando y quizás incluso qué versión. Puede o no importarte esto.

Por lo tanto, la conclusión es esta: asegúrese de que la lista de directorios esté desactivada, a menos que sepa lo que está haciendo, solo está sirviendo archivos estáticos no sensibles y tiene un caso de uso específico que necesita que esté activado.

    
respondido por el Anders 15.06.2018 - 11:11
fuente
0

(Supongo que estamos hablando de acceso HTTP aquí: marcarlo como una aplicación web confunde el problema)

Si algo se hace es intencionalmente, no es un defecto. Como han dicho otros, puede haber expuesto inadvertidamente información que no desea que se haga pública, o puede hacerlo en el futuro . La decisión de hacer o no un directorio disponible se basa en un conjunto simple de preguntas:

  1. ¿El uso legítimo del servicio requiere la instalación (en este caso, un directorio legible públicamente)
  2. ¿La instalación mejora el uso del servicio?
  3. ¿Es necesario para el soporte / mantenimiento del servicio?
  4. ¿Mejora el soporte / mantenimiento del servicio?
  5. ¿Cuáles son los costos / riesgos de cambiar el comportamiento? p.ej. la instalación de un administrador de archivos basado en la web puede eliminar la necesidad de mod_autoindex, pero requiere mucho tiempo para instalar / configurar y aumenta significativamente la superficie de ataque

Además del riesgo de exponer información confidencial, también aumenta el riesgo de publicar los detalles de su código de aplicación en los motores de búsqueda. Lo que significa que alguien que tiene una vulnerabilidad para alguna aplicación simplemente necesita acudir a Google para encontrar hosts vulnerables que busquen por nombre de archivo y tamaño de archivo. Incluso si nunca tiene información de valor en su sitio, una máquina con conexión a Internet explotable es un activo valioso para cualquier atacante.

A la inversa, alguien que se dirige específicamente a su servidor podría ser capaz de cruzar los nombres de archivos / archivos expuestos con las vulnerabilidades conocidas sin buscar vulnerabilidades en su sitio (y por lo tanto, activar mecanismos de protección).

En Apache y nginx, activar y desactivar esta funcionalidad (o aplicarla selectivamente) es un costo muy bajo. Por lo tanto, la práctica es simplemente una extensión del principio de privilegio mínimo.

    
respondido por el symcbean 15.06.2018 - 13:42
fuente

Lea otras preguntas en las etiquetas