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.