mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-23 19:43:31 +00:00
154 lines
9.3 KiB
Markdown
154 lines
9.3 KiB
Markdown
# Bypasses de 403 e 401
|
||
|
||
<details>
|
||
|
||
<summary><strong>Aprenda hacking na 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 maneiras de apoiar o HackTricks:
|
||
|
||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||
|
||
</details>
|
||
|
||
<figure><img src="../../.gitbook/assets/image (14).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
|
||
|
||
{% embed url="https://pentest-tools.com/" %}
|
||
|
||
## Fuzzing de Verbos/Métodos HTTP
|
||
|
||
Tente usar **diferentes verbos** para acessar o arquivo: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
|
||
|
||
* Verifique os cabeçalhos de resposta, talvez algumas informações possam ser fornecidas. Por exemplo, uma resposta **200** para **HEAD** com `Content-Length: 55` significa que o **verbo HEAD pode acessar as informações**. Mas você ainda precisa encontrar uma maneira de extrair essas informações.
|
||
* 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
|
||
|
||
* **Alterar 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 Agentes de Usuário**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) para acessar o recurso.
|
||
* **Fuzz de Cabeçalhos HTTP**: Tente usar **Cabeçalhos** de Proxy HTTP, Autenticação HTTP Básica 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 contornar 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 esteja impedindo você de acessar as informações privadas. Tente abusar de [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **ou** [**cabeçalhos hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||
* Fuzz de [**cabeçalhos HTTP especiais**](special-http-headers.md) procurando por respostas diferentes.
|
||
* **Fuzz de cabeçalhos HTTP especiais** enquanto faz fuzzing de **Métodos HTTP**.
|
||
* **Remova o cabeçalho Host** e talvez consiga contornar a proteção.
|
||
|
||
## Fuzzing de Caminho
|
||
|
||
Se _/caminho_ estiver bloqueado:
|
||
|
||
* Tente usar _**/**_**%2e/caminho \_(se o acesso estiver bloqueado por um proxy, isso poderia contornar a proteção). Tente também**\_\*\* /%252e\*\*/caminho (codificação de URL dupla)
|
||
* Tente **bypass Unicode**: _/**%ef%bc%8f**caminho_ (Os caracteres codificados em URL são como "/") então, quando decodificados novamente, será _//caminho_ e talvez você já tenha contornado a verificação de nome _/caminho_
|
||
* **Outros bypasses de caminho**:
|
||
* site.com/secreto –> HTTP 403 Proibido
|
||
* site.com/SECRETO –> HTTP 200 OK
|
||
* site.com/secreto/ –> HTTP 200 OK
|
||
* site.com/secreto/. –> HTTP 200 OK
|
||
* site.com//secreto// –> HTTP 200 OK
|
||
* site.com/./secreto/.. –> HTTP 200 OK
|
||
* site.com/;/secreto –> HTTP 200 OK
|
||
* site.com/.;/secreto –> HTTP 200 OK
|
||
* site.com//;//secreto –> HTTP 200 OK
|
||
* site.com/secreto.json –> HTTP 200 OK (ruby)
|
||
* Use toda [**esta lista**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) nas seguintes situações:
|
||
* /FUZZsecreto
|
||
* /FUZZ/secreto
|
||
* /secretoFUZZ
|
||
* **Outros bypasses de API:**
|
||
* /v3/dados_usuários/1234 --> 403 Proibido
|
||
* /v1/dados_usuários/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":"\<id_legítimo>","user_id":"\<id_vítima>"} (Poluição de Parâmetros JSON)
|
||
* user_id=ID_DO_ATACANTE\&user_id=ID_DA_VÍTIMA (Poluição de Parâmetros)
|
||
## **Manipulação de Parâmetros**
|
||
|
||
* Alterar o **valor do parâmetro**: De **`id=123` --> `id=124`**
|
||
* Adicionar parâmetros adicionais à URL: `?`**`id=124` —-> `id=124&isAdmin=true`**
|
||
* Remover os parâmetros
|
||
* Reordenar os parâmetros
|
||
* Usar caracteres especiais.
|
||
* Realizar testes de limite nos parâmetros — fornecer 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é mesmo teste se **suporta 2.0**.
|
||
|
||
## **Outras Formas de Bypass**
|
||
|
||
* Obter o **IP** ou **CNAME** do domínio e tentar **contatá-lo diretamente**.
|
||
* Tente **sobrecarregar o servidor** enviando solicitações GET comuns ([Funcionou para este cara com o Facebook](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
|
||
* **Alterar 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 esse arquivo estava **acessível mundialmente**.
|
||
|
||
## **Força Bruta**
|
||
|
||
* **Adivinhar 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
|
||
```
|
||
{% endcode %}
|
||
|
||
## 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 (14).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
|
||
|
||
{% embed url="https://pentest-tools.com/" %}
|
||
|
||
<details>
|
||
|
||
<summary><strong>Aprenda hacking na 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 maneiras de apoiar o HackTricks:
|
||
|
||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|