intentando omitir la autenticación http básica basada en htaccess

1

Estoy tratando de resolver este desafío web que requiere eludir una autenticación de formulario basada en htaccess. Después de algunas investigaciones intenté cambiar la solicitud a

GETS /admin/ HTTP/1.1

Host: htaccess.hacking.w3challs.com

User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

del encabezado original

GET /admin/ HTTP/1.1

Host: htaccess.hacking.w3challs.com

User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

utilizando burp suite pero todavía no puedo omitir el formulario de autenticación. ¿Algún consejo sobre qué tiene de malo mi enfoque?

    
pregunta Manvendra Singh 13.11.2016 - 17:24
fuente

2 respuestas

2

Esto simplemente significa que el servidor no es vulnerable en la forma en que espera que lo esté (utilizando GETS en lugar de GET para omitir la lista negra de verbos HTTP).

Intenté pasar una ruta como: enlace y el recorrido del directorio parece ser posible. Intente buscar un archivo .htpasswd en algún lugar del árbol de directorios.

    
respondido por el rhodeo 13.11.2016 - 18:08
fuente
0

El uso de malabares de verbos o un verbo HTTP mutilado como GETS para omitir la autenticación requiere 2 opciones de configuración en el servidor (se proporciona el ejemplo de Apache).

  1. La autenticación se debe implementar con una directiva <Limit VERB VERB VERB> . Como esto solo impone la autenticación para los verbos listados. Si las restricciones solo cubren GET y POST , por ejemplo, puede omitir esto con un malabarismo (use PUT en lugar de POST )

  2. Si no puedes hacer malabarismos con un verbo, puedes hacer malabares de todos modos usando un verbo mutilado como GETS en lugar de GET . Sin embargo, esto solo es posible si el controlador de la aplicación permite verbos desconocidos o realiza un trabajo incorrecto al validar verbos conocidos (como el controlador de script php).

Si la autenticación se implementa sin esta variación de la directiva <Limit> , no hay omisiones conocidas que conozca.

    
respondido por el wireghoul 28.11.2016 - 05:05
fuente

Lea otras preguntas en las etiquetas