9.3 KiB
Omisiones de 403 y 401
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver a tu empresa anunciada en HackTricks o descargar HackTricks en PDF, consulta los PLANES DE SUSCRIPCIÓN!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de HackTricks y HackTricks Cloud.
Configuración disponible al instante para evaluación de vulnerabilidades y pentesting. Realiza un pentest completo desde cualquier lugar con más de 20 herramientas y características que van desde el reconocimiento hasta la elaboración de informes. No reemplazamos a los pentesters: desarrollamos herramientas personalizadas, módulos de detección y explotación para darles más tiempo para profundizar, obtener shells y divertirse.
{% embed url="https://pentest-tools.com/" %}
Fuzzing de Verbos/Métodos HTTP
Intenta usar diferentes verbos para acceder al archivo: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK
- Revisa los encabezados de respuesta, quizás 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 quizás en la respuesta puedas ver también los encabezados añadidos por proxies intermedios que podrían ser útiles.
Fuzzing de Encabezados HTTP
-
Cambia el encabezado Host a algún valor arbitrario (que funcionó aquí)
-
Intenta usar otros User Agents para acceder al recurso.
-
Fuzzing de Encabezados HTTP: Intenta usar Encabezados de Proxy HTTP, autenticación básica HTTP y fuerza bruta NTLM (con solo unas pocas 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 el camino está protegido puedes intentar omitir la protección del camino usando estos otros encabezados:
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
- Si la página está detrás de un proxy, quizás sea el proxy el que te impide acceder a la información privada. Intenta abusar del HTTP Request Smuggling o encabezados hop-by-hop.
- Fuzzing de encabezados HTTP especiales buscando una respuesta diferente.
- Fuzzing de encabezados HTTP especiales mientras haces fuzzing de Métodos HTTP.
- Elimina el encabezado Host y quizás podrás omitir la protección.
Fuzzing de Caminos
Si /path está bloqueado:
- Intenta usar /%2e/path _(si el acceso está bloqueado por un proxy, esto podría omitir la protección). Intenta también_** /%252e**/path (codificación de URL doble)
- Intenta bypass Unicode: /%ef%bc%8fpath (Los caracteres codificados en URL son como "/") así que cuando se decodifican volverá a ser //path y quizás ya hayas omitido la verificación del nombre /path
- Otros bypasses de camino:
- site.com/secret –> HTTP 403 Prohibido
- 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
- Otros bypasses de API:
- /v3/users_data/1234 --> 403 Prohibido
- /v1/users_data/1234 --> 200 OK
- {“id”:111} --> 401 No autorizado
- {“id”:[111]} --> 200 OK
- {“id”:111} --> 401 No autorizado
- {“id”:{“id”:111}} --> 200 OK
- {"user_id":"<legit_id>","user_id":"<victims_id>"} (Contaminación de Parámetros JSON)
- user_id=ID_DEL_ATACANTE&user_id=ID_DE_LA_VÍCTIMA (Contaminación de Parámetros)
Manipulación de Parámetros
- Cambia el valor del parámetro: De
id=123
-->id=124
- Añade 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ímites en los parámetros — proporciona valores como -234 o 0 o 99999999 (solo algunos valores de ejemplo).
Versión del Protocolo
Si usas HTTP/1.1 intenta usar 1.0 o incluso prueba si soporta 2.0.
Otros Bypasses
- Obtén la IP o CNAME del dominio e intenta contactarlo directamente.
- Intenta sobrecargar el servidor enviando solicitudes GET comunes (Funcionó para este chico 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 estaba accesible mundialmente.
Fuerza Bruta
- 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.
{% code title="Credenciales comunes" %}
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
Herramientas Automáticas
- https://github.com/lobuhi/byp4xx
- https://github.com/iamj0ker/bypass-403
- https://github.com/gotr00t0day/forbiddenpass
- Extensión de Burp - 403 Bypasser
- Forbidden Buster
Configuración disponible al instante para evaluación de vulnerabilidades y pentesting. Ejecute un pentest completo desde cualquier lugar con más de 20 herramientas y características que van desde el reconocimiento hasta la elaboración de informes. No reemplazamos a los pentesters - desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles tiempo para investigar más a fondo, obtener shells y divertirse.
{% embed url="https://pentest-tools.com/" %}
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF consulta los PLANES DE SUSCRIPCIÓN!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github de HackTricks y HackTricks Cloud.