¿Es peligroso permitir que el usuario vea un directorio de archivos a través del navegador web?

4

Tengo una URL que muestra todos los archivos pdf en un directorio determinado al visitar la siguiente ubicación del sitio:

enlace

¿Esto presenta alguna vulnerabilidad de seguridad?

    
pregunta blue-sky 25.07.2012 - 23:29
fuente

6 respuestas

3

Si no hay archivos al lado de los que desea compartir, está bien. Pero asegúrese de deshabilitar la indexación para todos los demás directorios en el servidor.

Options -Indexes

La indexación se considera una amenaza para la seguridad.

Más aquí: enlace

    
respondido por el mnmnc 25.07.2012 - 23:45
fuente
7

Depende de lo que haya allí.

Originalmente, la idea detrás de la web era proporcionar un catálogo de información útil; cada archivo en un directorio público contiene información y se genera automáticamente un índice para que la información sea accesible. La razón principal por la que su archivo predeterminado tradicionalmente se llama index.html se debe a que, en teoría, se supone que ese archivo es un índice, al igual que el generado automáticamente, pero tal vez con un formato diferente.

Si el directorio no contiene nada más que archivos de acceso público (como imágenes, archivos PDF, archivos HTML o lo que sea que tenga), el índice generado automáticamente no es menos seguro que un índice equivalente generado manualmente.

Pero si, en cambio, tiene algún tipo de aplicación web, y en particular una escrita en PHP o ASP o ASP.NET o un idioma similar donde los archivos de la aplicación se almacenan dentro de la raíz del documento mezclado con el medio, entonces El índice generado automáticamente puede proporcionar enlaces a archivos que no pretendía hacer públicos. Esto es aún más cierto si también tiene archivos "incluidos" allí. Y en ese caso, este índice automático podría facilitar la búsqueda de archivos que podrían generar una vulnerabilidad.

Tenga en cuenta que el índice en sí mismo es no una vulnerabilidad y no es un riesgo de seguridad en sí mismo. En su lugar, podría ayudar a localizar y explotar alguna vulnerabilidad de seguridad otro en el sitio. Si no tiene tales vulnerabilidades, entonces el índice no agrega ningún riesgo por sí mismo.

Además, todas las prácticas que podrían hacer que un índice de directorio sea peligroso son, en sí mismas, prácticas categóricamente malas, y no se hacen seguras simplemente eliminando la directiva de índice.

Esto incluye específicamente colocar archivos de código del lado del servidor en la raíz de su documento. Para estar seguro, debe tener UN archivo ( index.php ) dentro de la raíz de su documento y TODOS los demás archivos externos. Su archivo index.php no debe contener más que código de arranque que carga y ejecuta su aplicación web, mientras que la aplicación web maneja todo el enrutamiento de URL independientemente de la estructura de su sistema de archivos. Aparte de eso, la raíz de su documento debe solo contener archivos estáticos que sean seguros para que cualquiera pueda verlos.

    
respondido por el tylerl 26.07.2012 - 06:32
fuente
1

Si desea permitir la exploración de archivos de esa manera, ¿por qué no configurar un servidor de archivos? Usó la aplicación web de etiquetas, que difiere de solo proporcionar algunos archivos PDF. En ese caso, me gustaría ir con lo que tyler1 declaró.

    
respondido por el stlsaint 26.07.2012 - 06:54
fuente
1

No. Esto no presenta ninguna vulnerabilidad de seguridad. Es una cosa perfectamente razonable para hacer.

Asegúrese de que todos los archivos de ese directorio estén, de hecho, destinados a ser públicos. No coloque ningún archivo que desee mantener en secreto en ese directorio. (Pero, por lo general, debes evitar colocar dichos archivos en cualquier lugar debajo de tu raíz web, por lo que probablemente no te diga nada demasiado nuevo).

    
respondido por el D.W. 31.07.2012 - 08:01
fuente
0

Si bien es probable que no haya problemas para mostrar la lista de archivos en esa ubicación en particular, el principal riesgo que corre es cuando el código pasa el nombre de la carpeta como un parámetro, posiblemente de la entrada del usuario.

En ese momento, debe ser muy cuidadoso para filtrar el parámetro de carpeta para permitir solo las carpetas aprobadas, o un usuario podría especificar otras carpetas como / etc o el código fuente de su aplicación web y leer todo tipo de datos confidenciales como contraseñas.

    
respondido por el ImaginaryRobots 31.07.2012 - 05:19
fuente
0

Es mejor esconderlo usando htaccess y ver los archivos en la página html en su lugar.

Options -Indexes

La fuga de información puede ser peligrosa. algunos ejemplos: -

  • Los archivos de copia de seguridad que utilizan extensiones de nombre de archivo, como BAK, OLD u ORIG
  • Archivos ocultos con nombres de archivos que comienzan con a. (período)
  • Los archivos temporales que se han eliminado del servidor, pero que aún pueden estar disponibles
  • Convenciones de nomenclatura donde el atacante puede determinar cómo el sitio web nombra los directorios o archivos
  • Cuentas de usuario personales en un servidor web donde el usuario ha nombrado su directorio de inicio con el mismo nombre que su cuenta de usuario
  • El contenido del archivo de configuración que puede contener datos de control de acceso y utilizar extensiones de nombre de archivo, como CONF, CFG o CONFIG
  • La indexación de directorio de los contenidos de cgi-bin puede permitir que un atacante descargue o revise el código del script si los permisos son incorrectos

más información: enlace

    
respondido por el Eslam Salem Mahmoud 22.10.2016 - 06:33
fuente

Lea otras preguntas en las etiquetas