mirror of
https://github.com/carlospolop/hacktricks
synced 2025-01-25 11:25:13 +00:00
153 lines
9.3 KiB
Markdown
153 lines
9.3 KiB
Markdown
# Omisiones de 403 y 401
|
||
|
||
<details>
|
||
|
||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
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**](https://github.com/sponsors/carlospolop)!
|
||
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|
||
|
||
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
**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í](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 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**](https://github.com/carlospolop/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**](../../pentesting-web/http-request-smuggling/) **o** [**encabezados hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||
* Fuzzing de [**encabezados HTTP especiales**](special-http-headers.md) 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%8f**path_ (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**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) 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](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
|
||
* **Cambia el protocolo**: de http a https, o de https a http
|
||
* Ve a [**https://archive.org/web/**](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**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** 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/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)
|
||
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
|
||
|
||
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
**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/" %}
|
||
|
||
<details>
|
||
|
||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
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**](https://github.com/sponsors/carlospolop)!
|
||
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|