¿Cómo ocultar las carpetas dentro de webroot para que no sean identificadas?

1

Tengo una biblioteca dentro de mi webroot:

enlace

El acceso a la url a través de un navegador me da el error de permiso esperado denegado. Sin embargo, quiero asegurarme de que los clientes ni siquiera sepan que la biblioteca existe.

La solución que pensé era simplemente cambiar el nombre de la biblioteca a una cadena aleatoria. Entonces, mi url a mi biblioteca ahora se parece a esto:

enlace

¿Hay alguna forma para que un atacante, sin acceso a mi servidor, identifique que dicha carpeta existe en mi servidor web y, en caso afirmativo, cuál es la mejor manera de ocultar la carpeta?

Muchas gracias!

    
pregunta Tim von Känel 05.07.2018 - 21:38
fuente

1 respuesta

1

Probablemente, esto dependerá del servidor que estés ejecutando y del sistema operativo, pero este es un ejemplo de cómo manejarlo.

Puede capturar la respuesta de error y enviarla a otra página en lugar de devolver códigos de error.

Si estuviera implementando esto, enviaría todos los errores a su página de índice. De esa manera, el atacante no sabe si algo está restringido, no está allí, roto, etc. Esto también hace que el escaneo de fuerza bruta con dirb dirbuster y wfuzz sea un dolor, ya que aprovechan los códigos de respuesta para identificar páginas. Entonces, si siempre devuelve un código de estado 200, entonces rompe efectivamente usando esas herramientas.

  

Los documentos de error personalizados se configuran utilizando el ErrorDocument   directiva, que se puede utilizar en global, virtualhost o directorio   contexto. Se puede usar en archivos .htaccess si AllowOverride está configurado en   FileInfo.

- ErrorDocument 500 "Sorry, our script crashed. Oh dear"
- ErrorDocument 500 /cgi-bin/crash-recover
- ErrorDocument 500 http://error.example.com/server_error.html
- ErrorDocument 404 /errors/not_found.html
- ErrorDocument 401 /subscription/how_to_subscribe.html
  

La sintaxis de la directiva ErrorDocument es: ErrorDocument   < código de 3 dígitos > donde la acción se tratará como: Una URL local para redirigir a (si   La acción comienza con una "/").

     

Una URL externa para redirigir a (si el   La acción es una URL válida). Texto a mostrar (si no es ninguno de los anteriores).   El texto debe incluirse entre comillas (") si consta de más de una   palabra.

     

Al redirigir a una URL local, las variables de entorno adicionales son   configurar para que la respuesta se puede personalizar aún más. No son enviados   a direcciones URL externas.

Para obtener más información, consulte la documentación

enlace

Esto no es una solución a todos para forzar bruta en la web. Escribí un script no hace mucho tiempo que aprovecha la longitud del contenido en lugar del código de estado. Puede ver cómo funciona en GitHub

Para vencer a los escáneres de longitud de contenido, probablemente solo incluyera una cadena aleatoria oculta con una longitud variable en mi página de índice o error.

    
respondido por el Anthony Russell 05.07.2018 - 21:57
fuente

Lea otras preguntas en las etiquetas