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

143 lines
11 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 [**swag oficial de PEASS y HackTricks**](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).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 HTTP de proxy**, 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:
* /FUZZsecret
2023-06-05 18:33:24 +00:00
````
```
# Bypasses de errores 403 y 401
A menudo, los servidores web devuelven errores 403 y 401 cuando se intenta acceder a recursos no autorizados. Estos errores pueden ser un obstáculo para los atacantes que intentan acceder a información confidencial o realizar acciones maliciosas en un sitio web. Sin embargo, hay varias técnicas que se pueden utilizar para evitar estos errores y obtener acceso no autorizado.
2023-06-05 18:33:24 +00:00
## Bypass de autenticación básica
2023-06-05 18:33:24 +00:00
La autenticación básica es un método común de autenticación utilizado por muchos servidores web. Este método utiliza una combinación de nombre de usuario y contraseña para autenticar a los usuarios. Sin embargo, esta forma de autenticación es vulnerable a ataques de fuerza bruta y diccionario.
2023-06-05 18:33:24 +00:00
Aquí hay una lista de combinaciones de nombre de usuario y contraseña comunes que se pueden probar para intentar acceder a un sitio web:
2023-06-05 18:33:24 +00:00
```
admin admin
admin password
admin 1234
admin admin1234
admin 123456
root toor
test test
guest guest
```
## Bypass de autenticación de formulario
2023-06-05 18:33:24 +00:00
La autenticación de formulario es otro método común de autenticación utilizado por muchos sitios web. Este método utiliza un formulario de inicio de sesión para autenticar a los usuarios. Sin embargo, esta forma de autenticación también es vulnerable a ataques de fuerza bruta y diccionario.
2023-06-05 18:33:24 +00:00
Una técnica común para evitar la autenticación de formulario es la inyección de SQL. Esto implica la inserción de código SQL malicioso en el formulario de inicio de sesión para engañar al servidor web y permitir el acceso no autorizado.
2023-06-05 18:33:24 +00:00
Otra técnica común es la manipulación de cookies. Las cookies son pequeños archivos que se almacenan en el navegador del usuario y se utilizan para mantener el estado de la sesión. Al manipular las cookies, un atacante puede engañar al servidor web y permitir el acceso no autorizado.
2023-06-05 18:33:24 +00:00
## Bypass de restricciones de IP
2023-06-05 18:33:24 +00:00
Algunos servidores web restringen el acceso a ciertas direcciones IP. Esto se hace comúnmente para restringir el acceso a recursos internos o para limitar el acceso a ciertos usuarios. Sin embargo, esta restricción se puede evitar utilizando una técnica llamada "spoofing" de IP. Esto implica la falsificación de la dirección IP del atacante para que parezca que proviene de una dirección IP autorizada.
2023-06-05 18:33:24 +00:00
## Bypass de restricciones de usuario
2023-06-05 18:33:24 +00:00
Algunos servidores web restringen el acceso a ciertos usuarios o grupos de usuarios. Esto se hace comúnmente para limitar el acceso a recursos internos o para restringir el acceso a ciertos usuarios. Sin embargo, esta restricción se puede evitar utilizando una técnica llamada "escalada de privilegios". Esto implica la obtención de acceso a una cuenta de usuario con privilegios más altos y luego utilizar esa cuenta para acceder a los recursos restringidos.
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).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>