hacktricks/pentesting-web/rate-limit-bypass.md

69 lines
4.9 KiB
Markdown

# Bypass de Limite de Taxa
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir facilmente e **automatizar fluxos de trabalho** com as ferramentas comunitárias mais avançadas do mundo.\
Acesse hoje:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<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 formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira 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** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Técnicas de Bypass de Limite de Taxa
### Explorando Endpoints Semelhantes
Devem ser feitas tentativas de ataques de força bruta em variações do endpoint alvo, como `/api/v3/sign-up`, incluindo alternativas como `/Sing-up`, `/SignUp`, `/singup`, `/api/v1/sign-up`, `/api/sign-up`, etc.
### Incorporando Caracteres em Branco no Código ou Parâmetros
Inserir bytes em branco como `%00`, `%0d%0a`, `%0d`, `%0a`, `%09`, `%0C`, `%20` no código ou parâmetros pode ser uma estratégia útil. Por exemplo, ajustar um parâmetro para `code=1234%0a` permite estender as tentativas através de variações na entrada, como adicionar caracteres de nova linha a um endereço de e-mail para contornar limitações de tentativas.
### Manipulando a Origem do IP via Headers
Modificar headers para alterar a origem do IP percebida pode ajudar a evitar a limitação de taxa baseada em IP. Headers como `X-Originating-IP`, `X-Forwarded-For`, `X-Remote-IP`, `X-Remote-Addr`, `X-Client-IP`, `X-Host`, `X-Forwared-Host`, incluindo o uso de múltiplas instâncias de `X-Forwarded-For`, podem ser ajustados para simular solicitações de IPs diferentes.
```bash
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Host: 127.0.0.1
X-Forwared-Host: 127.0.0.1
# Double X-Forwarded-For header example
X-Forwarded-For:
X-Forwarded-For: 127.0.0.1
```
### Alterando Outros Cabeçalhos
Alterar outros cabeçalhos de solicitação, como o user-agent e cookies, é recomendado, pois eles também podem ser usados para identificar e rastrear padrões de solicitação. Alterar esses cabeçalhos pode evitar o reconhecimento e rastreamento das atividades do solicitante.
### Aproveitando o Comportamento do Gateway de API
Alguns gateways de API são configurados para aplicar limites de taxa com base na combinação de endpoint e parâmetros. Variando os valores dos parâmetros ou adicionando parâmetros não significativos à solicitação, é possível contornar a lógica de limitação de taxa do gateway, fazendo com que cada solicitação pareça única. Por exemplo `/resetpwd?someparam=1`.
### Fazendo Login na Sua Conta Antes de Cada Tentativa
Fazer login em uma conta antes de cada tentativa, ou a cada conjunto de tentativas, pode redefinir o contador de limite de taxa. Isso é especialmente útil ao testar funcionalidades de login. Utilizar um ataque Pitchfork em ferramentas como o Burp Suite, para rotacionar credenciais a cada poucas tentativas e garantir que os redirecionamentos sejam marcados, pode reiniciar efetivamente os contadores de limite de taxa.
### Utilizando Redes de Proxy
Implantar uma rede de proxies para distribuir as solicitações em vários endereços IP pode contornar efetivamente os limites de taxa baseados em IP. Ao rotear o tráfego por vários proxies, cada solicitação parece originar-se de uma fonte diferente, diluindo a eficácia do limite de taxa.
### Dividindo o Ataque Entre Diferentes Contas ou Sessões
Se o sistema de destino aplicar limites de taxa com base em uma conta ou sessão, distribuir o ataque ou teste entre várias contas ou sessões pode ajudar a evitar a detecção. Esse método requer o gerenciamento de várias identidades ou tokens de sessão, mas pode distribuir efetivamente a carga para permanecer dentro dos limites permitidos.