mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-04 10:30:26 +00:00
155 lines
9.2 KiB
Markdown
155 lines
9.2 KiB
Markdown
# Bypasses de 403 & 401
|
||
|
||
<details>
|
||
|
||
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
Outras formas de apoiar o HackTricks:
|
||
|
||
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
||
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|
||
|
||
<figure><img src="../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
[**DragonJAR Security Conference é um evento internacional de cibersegurança**](https://www.dragonjarcon.org/) com mais de uma década que será realizado nos dias 7 e 8 de setembro de 2023 em Bogotá, Colômbia. É um evento de grande conteúdo técnico onde são apresentadas as últimas pesquisas em espanhol que atrai hackers e pesquisadores de todo o mundo.\
|
||
Registre-se agora no seguinte link e não perca esta grande conferência!:
|
||
|
||
{% embed url="https://www.dragonjarcon.org/" %}
|
||
|
||
## Fuzzing de Verbos/Métodos HTTP
|
||
|
||
Tente usar **verbos diferentes** para acessar o arquivo: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
|
||
|
||
* Verifique os cabeçalhos de resposta, talvez alguma informação possa ser dada. Por exemplo, uma **resposta 200** para **HEAD** com `Content-Length: 55` significa que o verbo **HEAD pode acessar a informação**. Mas você ainda precisa encontrar uma maneira de exfiltrar essa informação.
|
||
* Usar um cabeçalho HTTP como `X-HTTP-Method-Override: PUT` pode sobrescrever o verbo usado.
|
||
* Use o verbo **`TRACE`** e, se tiver muita sorte, talvez na resposta você possa ver também os **cabeçalhos adicionados por proxies intermediários** que podem ser úteis.
|
||
|
||
## Fuzzing de Cabeçalhos HTTP
|
||
|
||
* **Altere o cabeçalho Host** para algum valor arbitrário ([que funcionou aqui](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
|
||
* Tente [**usar outros User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) para acessar o recurso.
|
||
* **Fuzz Cabeçalhos HTTP**: Tente usar Cabeçalhos de Proxy HTTP, autenticação básica HTTP e força bruta NTLM (com apenas algumas combinações) e outras técnicas. Para fazer tudo isso, criei a ferramenta [**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`
|
||
|
||
Se o **caminho estiver protegido**, você pode tentar burlar a proteção do caminho usando esses outros cabeçalhos:
|
||
|
||
* `X-Original-URL: /admin/console`
|
||
* `X-Rewrite-URL: /admin/console`
|
||
* Se a página estiver **atrás de um proxy**, talvez seja o proxy que está impedindo você de acessar as informações privadas. Tente abusar do [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **ou** [**cabeçalhos hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||
* Fuzz [**cabeçalhos HTTP especiais**](special-http-headers.md) procurando por respostas diferentes.
|
||
* **Fuzz cabeçalhos HTTP especiais** enquanto faz fuzzing de **Métodos HTTP**.
|
||
* **Remova o cabeçalho Host** e talvez você consiga burlar a proteção.
|
||
|
||
## Fuzzing de Caminho
|
||
|
||
Se _/path_ estiver bloqueado:
|
||
|
||
* Tente usar _**/**_**%2e/path \_(se o acesso estiver bloqueado por um proxy, isso pode burlar a proteção). Tente também**\_\*\* /%252e\*\*/path (codificação dupla de URL)
|
||
* Tente **bypass Unicode**: _/**%ef%bc%8f**path_ (Os caracteres codificados em URL são como "/") então, quando decodificados, será _//path_ e talvez você já tenha burlado a verificação de nome _/path_
|
||
* **Outros bypasses de caminho**:
|
||
* site.com/secret –> HTTP 403 Proibido
|
||
* 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)
|
||
* Use toda [**esta lista**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) nas seguintes situações:
|
||
* /FUZZsecret
|
||
* /FUZZ/secret
|
||
* /secretFUZZ
|
||
* **Outros bypasses de API:**
|
||
* /v3/users\_data/1234 --> 403 Proibido
|
||
* /v1/users\_data/1234 --> 200 OK
|
||
* {“id”:111} --> 401 Não autorizado
|
||
* {“id”:\[111]} --> 200 OK
|
||
* {“id”:111} --> 401 Não autorizado
|
||
* {“id”:{“id”:111\}} --> 200 OK
|
||
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (Poluição de Parâmetro JSON)
|
||
* user\_id=ID_DO_ATACANTE\&user\_id=ID_DA_VÍTIMA (Poluição de Parâmetro)
|
||
|
||
## **Manipulação de Parâmetros**
|
||
|
||
* Altere **o valor do parâmetro**: De **`id=123` --> `id=124`**
|
||
* Adicione parâmetros adicionais à URL: `?`**`id=124` —-> `id=124&isAdmin=true`**
|
||
* Remova os parâmetros
|
||
* Reordene os parâmetros
|
||
* Use caracteres especiais.
|
||
* Realize testes de limite nos parâmetros — forneça valores como _-234_ ou _0_ ou _99999999_ (apenas alguns valores de exemplo).
|
||
|
||
## **Versão do Protocolo**
|
||
|
||
Se estiver usando HTTP/1.1 **tente usar 1.0** ou até teste se **suporta 2.0**.
|
||
|
||
## **Outros Bypasses**
|
||
|
||
* Obtenha o **IP** ou **CNAME** do domínio e tente **contatá-lo diretamente**.
|
||
* Tente **sobrecarregar o servidor** enviando requisições GET comuns ([Funcionou para este cara com o Facebook](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
|
||
* **Altere o protocolo**: de http para https, ou de https para http
|
||
* Acesse [**https://archive.org/web/**](https://archive.org/web/) e verifique se no passado aquele arquivo estava **acessível mundialmente**.
|
||
|
||
## **Força Bruta**
|
||
|
||
* **Adivinhe a senha**: Teste as seguintes credenciais comuns. Você sabe algo sobre a vítima? Ou o nome do desafio CTF?
|
||
* [**Força bruta**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Tente autenticação básica, digest e NTLM.
|
||
|
||
{% code title="Credenciais comuns" %}
|
||
```
|
||
admin admin
|
||
admin password
|
||
admin 1234
|
||
admin admin1234
|
||
admin 123456
|
||
root toor
|
||
test test
|
||
guest guest
|
||
```
|
||
## Ferramentas 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)
|
||
* [Extensão Burp - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
|
||
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
|
||
|
||
<figure><img src="../../.gitbook/assets/image (1) (1) (2) (4).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
[**DragonJAR Security Conference é um evento internacional de cibersegurança**](https://www.dragonjarcon.org/) com mais de uma década de existência, que ocorrerá nos dias 7 e 8 de setembro de 2023 em Bogotá, Colômbia. É um evento de alto conteúdo técnico onde são apresentadas as últimas pesquisas em espanhol, atraindo hackers e pesquisadores de todo o mundo.\
|
||
Registre-se agora no seguinte link e não perca esta grande conferência!:
|
||
|
||
{% embed url="https://www.dragonjarcon.org/" %}
|
||
|
||
<details>
|
||
|
||
<summary><strong>Aprenda hacking em AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
Outras formas de apoiar o HackTricks:
|
||
|
||
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||
* Adquira o [**merchandising oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
||
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
||
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|