9.3 KiB
Bypasses de 403 y 401
Aprende hacking en AWS de cero a héroe con htARTE (Experto en Equipos Rojos de HackTricks AWS)!
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!
- Obtén la merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.
Configuración disponible instantáneamente para evaluación de vulnerabilidades y pruebas de penetración. Ejecuta una pentest completa desde cualquier lugar con más de 20 herramientas y funciones que van desde la recolección de información hasta la generación de informes. No reemplazamos a los pentesters, desarrollamos herramientas personalizadas, módulos de detección y explotación para darles 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
- Verifica 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. Aún así, necesitas encontrar una forma de extraer esa información. - Usar un encabezado HTTP como
X-HTTP-Method-Override: PUT
puede sobrescribir el verbo utilizado. - Utiliza 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.
Fuzzing de Encabezados HTTP
-
Cambia el encabezado Host a algún valor arbitrario (que funcionó aquí)
-
Intenta usar otros Agentes de Usuario para acceder al recurso.
-
Fuzz de Encabezados HTTP: Intenta usar Encabezados de Proxy HTTP, autenticación HTTP básica 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 evitar 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 de encabezados HTTP especiales buscando diferentes respuestas.
- Fuzz de encabezados HTTP especiales mientras haces fuzzing de Métodos HTTP.
- Elimina el encabezado Host y tal vez puedas evitar la protección.
Fuzzing de Rutas
Si /ruta está bloqueada:
- Intenta usar /%2e/ruta _(si el acceso está bloqueado por un proxy, esto podría evitar la protección). Intenta también_** /%252e**/ruta (codificación de URL doble)
- Intenta bypass Unicode: /%ef%bc%8fruta (Los caracteres codificados en URL son como "/") por lo que al decodificarlos de nuevo será //ruta y tal vez ya habrás evitado la verificación del nombre /ruta
- Otros bypass de rutas:
- sitio.com/secreto –> HTTP 403 Prohibido
- sitio.com/SECRETO –> HTTP 200 OK
- sitio.com/secreto/ –> HTTP 200 OK
- sitio.com/secreto/. –> HTTP 200 OK
- sitio.com//secreto// –> HTTP 200 OK
- sitio.com/./secreto/.. –> HTTP 200 OK
- sitio.com/;/secreto –> HTTP 200 OK
- sitio.com/.;/secreto –> HTTP 200 OK
- sitio.com//;//secreto –> HTTP 200 OK
- sitio.com/secreto.json –> HTTP 200 OK (ruby)
- Utiliza toda esta lista en las siguientes situaciones:
- /FUZZsecreto
- /FUZZ/secreto
- /secretoFUZZ
- Otros bypass de API:
- /v3/datos_usuarios/1234 --> 403 Prohibido
- /v1/datos_usuarios/1234 --> 200 OK
- {“id”:111} --> 401 No autorizado
- {“id”:[111]} --> 200 OK
- {“id”:111} --> 401 No autorizado
- {“id”:{“id”:111}} --> 200 OK
- {"user_id":"<id_legítimo>","user_id":"<id_víctima>"} (Contaminación de Parámetros JSON)
- user_id=ID_ATACANTE&user_id=ID_VÍCTIMA (Contaminación de Parámetros)
Manipulació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ímites en los parámetros — proporciona valores como -234 o 0 o 99999999 (solo algunos valores de ejemplo).
Versión del Protocolo
Si estás usando HTTP/1.1 intenta usar 1.0 o incluso prueba si admite 2.0.
Otros Bypasses
- Obtén la IP o CNAME del dominio e intenta contactarlo directamente.
- Intenta saturar 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 era accesible a nivel mundial.
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 la 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
{% endcode %}
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 instantáneamente disponible para evaluación de vulnerabilidades y pruebas de penetración. Ejecute una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y funciones que van desde la reconstrucción hasta la generación de informes. No reemplazamos a los pentesters, desarrollamos herramientas personalizadas, módulos de detección y explotación para darles tiempo para profundizar, abrir 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 deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén la merchandising oficial de PEASS & HackTricks
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.