Tengo una URL que muestra todos los archivos pdf en un directorio determinado al visitar la siguiente ubicación del sitio:
¿Esto presenta alguna vulnerabilidad de seguridad?
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
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.
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ó.
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).
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.
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: -
más información: enlace
Lea otras preguntas en las etiquetas web-application webserver