hacktricks/network-services-pentesting/pentesting-web/403-and-401-bypasses.md

141 lines
9.8 KiB
Markdown
Raw Normal View History

2023-06-05 18:33:24 +00:00
# Bypasses de 403 y 401
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
2023-06-05 18:33:24 +00:00
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/) con más de una década que se celebrará el 7 y 8 de septiembre de 2023 en Bogotá, Colombia. Es un evento de gran contenido técnico donde se presentan las últimas investigaciones en español que atrae a hackers e investigadores de todo el mundo.\
¡Regístrate ahora en el siguiente enlace y no te pierdas esta gran conferencia!:
{% embed url="https://www.dragonjarcon.org/" %}
## 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 las cabeceras 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 forma de extraer esa información.
* Usando una cabecera HTTP como `X-HTTP-Method-Override: PUT` puedes sobrescribir el verbo utilizado.
2023-06-05 18:33:24 +00:00
* Usa el verbo **`TRACE`** y si tienes mucha suerte, tal vez en la respuesta puedas ver también las **cabeceras añadidas por los proxies intermedios** que podrían ser útiles.
## Fuzzing de cabeceras HTTP
* **Cambia la cabecera Host** a algún valor arbitrario ([que funcionó aquí](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* Intenta [**usar otros User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) para acceder al recurso.
* **Fuzzing de cabeceras HTTP**: Intenta usar **cabeceras de proxy HTTP**, autenticación HTTP básica y fuerza bruta NTLM (con unas pocas combinaciones solamente) y otras técnicas. Para hacer todo esto he creado la herramienta [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
2023-06-05 18:33:24 +00:00
* `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 saltarte la protección de la ruta usando estas otras cabeceras:
* `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 la **técnica HTTP Request Smuggling** o de las **cabeceras hop-by-hop**.
* Fuzzing de [**cabeceras HTTP especiales**](special-http-headers.md) buscando diferentes respuestas.
* **Fuzzing de cabeceras HTTP especiales** mientras se hace fuzzing de **métodos HTTP**.
* **Elimina la cabecera Host** y tal vez puedas saltarte la protección.
## Fuzzing de ruta
Si _/ruta_ está bloqueada:
* Intenta usar _**/**_**%2e/ruta \_(si el acceso está bloqueado por un proxy, esto podría saltarse la protección). Intenta también**\_\*\* /%252e\*\*/ruta (doble codificación URL)
2023-06-05 18:33:24 +00:00
* Intenta **bypass Unicode**: _/**%ef%bc%8f**ruta_ (Los caracteres codificados en URL son como "/") por lo que cuando se codifica de nuevo será _//ruta_ y tal vez ya hayas saltado la comprobación del nombre _/ruta_
* **Otros bypass 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**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) en las siguientes situaciones:
````
```
# Bypasses de errores 403 y 401
Los errores 403 y 401 son comunes en la autenticación de aplicaciones web. A continuación se presentan algunas técnicas para intentar sortear estos errores:
2023-06-05 18:33:24 +00:00
## Fuerza bruta
2023-06-05 18:33:24 +00:00
La técnica de fuerza bruta implica probar diferentes combinaciones de credenciales hasta encontrar las correctas. La lista de credenciales comunes se puede utilizar para este propósito.
2023-06-05 18:33:24 +00:00
## Inyección de SQL
2023-06-05 18:33:24 +00:00
La inyección de SQL se puede utilizar para sortear la autenticación. Si se encuentra una vulnerabilidad de inyección de SQL en la aplicación, se puede utilizar para obtener acceso a la cuenta deseada.
## Cookies
Las cookies se pueden utilizar para sortear la autenticación. Si se puede obtener una cookie válida de un usuario autenticado, se puede utilizar para acceder a la cuenta deseada.
## Cambio de método HTTP
Si la aplicación web solo permite solicitudes HTTP GET, se puede intentar cambiar a HTTP POST o PUT para sortear la autenticación.
2023-06-05 18:33:24 +00:00
## Cambio de URL
2023-06-05 18:33:24 +00:00
Si la aplicación web solo permite el acceso a ciertas URL, se puede intentar cambiar la URL para sortear la autenticación.
2023-06-05 18:33:24 +00:00
## Cambio de agente de usuario
2023-06-05 18:33:24 +00:00
Si la aplicación web solo permite ciertos agentes de usuario, se puede intentar cambiar el agente de usuario para sortear la autenticación.
2023-06-05 18:33:24 +00:00
## Cambio de dirección IP
2023-06-05 18:33:24 +00:00
Si la aplicación web solo permite ciertas direcciones IP, se puede intentar cambiar la dirección IP para sortear la autenticación.
2023-06-05 18:33:24 +00:00
## Bypass de autenticación
2023-06-05 18:33:24 +00:00
Si se encuentra una vulnerabilidad de bypass de autenticación en la aplicación, se puede utilizar para acceder a la cuenta deseada sin necesidad de credenciales válidas.
2023-06-05 18:33:24 +00:00
```
````
## Herramientas Automáticas
* [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
* [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
* [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
* [Extensión de Burp - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
<figure><img src="../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
[**DragonJAR Security Conference es un evento internacional de ciberseguridad**](https://www.dragonjarcon.org/) con más de una década que se celebrará el 7 y 8 de septiembre de 2023 en Bogotá, Colombia. Es un evento de gran contenido técnico donde se presentan las últimas investigaciones en español que atrae a hackers e investigadores de todo el mundo.\
¡Regístrate ahora en el siguiente enlace y no te pierdas esta gran conferencia!:
{% embed url="https://www.dragonjarcon.org/" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2023-06-05 18:33:24 +00:00
</details>