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

63 lines
5.1 KiB
Markdown
Raw Normal View History

# Salto de límite de velocidad
2023-06-05 18:33:24 +00:00
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
¡Accede hoy mismo:
2023-06-05 18:33:24 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
2023-06-05 18:33:24 +00:00
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén [**productos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2023-06-05 18:33:24 +00:00
</details>
## Técnicas de salto de límite de velocidad
2023-06-05 18:33:24 +00:00
### Explorando Endpoints Similares
Deberían intentarse ataques de fuerza bruta en variaciones del endpoint objetivo, como `/api/v3/sign-up`, incluyendo alternativas como `/Sing-up`, `/SignUp`, `/singup`, `/api/v1/sign-up`, `/api/sign-up`, etc.
2023-06-05 18:33:24 +00:00
### Incorporando Caracteres en Blanco en Código o Parámetros
Insertar bytes en blanco como `%00`, `%0d%0a`, `%0d`, `%0a`, `%09`, `%0C`, `%20` en el código o parámetros puede ser una estrategia útil. Por ejemplo, ajustar un parámetro a `code=1234%0a` permite extender los intentos a través de variaciones en la entrada, como agregar caracteres de nueva línea a una dirección de correo electrónico para evitar las limitaciones de intentos.
2023-06-05 18:33:24 +00:00
### Manipulando el Origen de IP a través de Encabezados
Modificar los encabezados para alterar el origen de IP percibido puede ayudar a evadir la limitación de velocidad basada en IP. Encabezados como `X-Originating-IP`, `X-Forwarded-For`, `X-Remote-IP`, `X-Remote-Addr`, `X-Client-IP`, `X-Host`, `X-Forwared-Host`, incluyendo el uso de múltiples instancias de `X-Forwarded-For`, pueden ajustarse para simular solicitudes desde diferentes IPs.
2023-06-05 18:33:24 +00:00
```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
2023-06-05 18:33:24 +00:00
X-Forwarded-For:
X-Forwarded-For: 127.0.0.1
```
### Cambiar Otros Encabezados
Se recomienda alterar otros encabezados de solicitud como el user-agent y las cookies, ya que también pueden utilizarse para identificar y rastrear patrones de solicitud. Cambiar estos encabezados puede evitar el reconocimiento y seguimiento de las actividades del solicitante.
2023-06-05 18:33:24 +00:00
### Aprovechar el Comportamiento de la Puerta de Enlace de la API
Algunas puertas de enlace de API están configuradas para aplicar limitación de velocidad basada en la combinación de punto final y parámetros. Al variar los valores de los parámetros o agregar parámetros no significativos a la solicitud, es posible eludir la lógica de limitación de velocidad de la puerta de enlace, haciendo que cada solicitud parezca única.
Por ejemplo `/resetpwd?someparam=1`.
2023-06-05 18:33:24 +00:00
### Iniciar Sesión en Tu Cuenta Antes de Cada Intento
Iniciar sesión en una cuenta antes de cada intento, o en cada conjunto de intentos, podría restablecer el contador de límite de velocidad. Esto es especialmente útil al probar funcionalidades de inicio de sesión. Utilizar un ataque Pitchfork en herramientas como Burp Suite, para rotar credenciales cada pocos intentos y asegurarse de marcar seguir redirecciones, puede reiniciar efectivamente los contadores de límite de velocidad.
2023-06-05 18:33:24 +00:00
### Utilizar Redes de Proxy
Desplegar una red de proxies para distribuir las solicitudes en múltiples direcciones IP puede eludir efectivamente los límites de velocidad basados en IP. Al enrutar el tráfico a través de varios proxies, cada solicitud parece originarse desde una fuente diferente, diluyendo la efectividad del límite de velocidad.
2023-06-05 18:33:24 +00:00
### Dividir el Ataque Entre Diferentes Cuentas o Sesiones
Si el sistema objetivo aplica límites de velocidad en base a una cuenta o sesión, distribuir el ataque o prueba entre múltiples cuentas o sesiones puede ayudar a evitar la detección. Este enfoque requiere gestionar múltiples identidades o tokens de sesión, pero puede distribuir efectivamente la carga para mantenerse dentro de los límites permitidos.