Bypass de Límite de Tasa

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Técnicas de Bypass de Límite de Tasa

Explorando Endpoints Similares

Se deben realizar intentos de 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.

Incorporando Caracteres en Blanco en Código o Parámetros

Insertar bytes en blanco como %00, %0d%0a, %0d, %0a, %09, %0C, %20 en 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 eludir las limitaciones de intentos.

Manipulando el Origen IP a través de Encabezados

Modificar encabezados para alterar el origen IP percibido puede ayudar a evadir el límite de tasa basado 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.

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

Cambiando Otros Encabezados

Alterar otros encabezados de solicitud como el user-agent y las cookies se recomienda, ya que también pueden ser utilizados para identificar y rastrear patrones de solicitud. Cambiar estos encabezados puede prevenir el reconocimiento y el seguimiento de las actividades del solicitante.

Aprovechando el Comportamiento del API Gateway

Algunos API gateways están configurados para aplicar limitación de tasa basada en la combinación de endpoint 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 tasa del gateway, haciendo que cada solicitud parezca única. Por ejemplo /resetpwd?someparam=1.

Iniciar Sesión en Tu Cuenta Antes de Cada Intento

Iniciar sesión en una cuenta antes de cada intento, o cada conjunto de intentos, podría reiniciar el contador de limitación de tasa. 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 que se marquen las redirecciones, puede reiniciar efectivamente los contadores de limitación de tasa.

Utilizando Redes de Proxy

Desplegar una red de proxies para distribuir las solicitudes a través de múltiples direcciones IP puede eludir efectivamente las limitaciones de tasa basadas en IP. Al enrutar el tráfico a través de varios proxies, cada solicitud parece originarse de una fuente diferente, diluyendo la efectividad de la limitación de tasa.

Dividiendo el Ataque a Través de Diferentes Cuentas o Sesiones

Si el sistema objetivo aplica limitaciones de tasa por cuenta o por sesión, distribuir el ataque o la prueba a través de 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.

Sigue Intentando

Ten en cuenta que incluso si hay una limitación de tasa en su lugar, deberías intentar ver si la respuesta es diferente cuando se envía el OTP válido. En esta publicación, el cazador de bugs descubrió que incluso si se activa una limitación de tasa después de 20 intentos fallidos al responder con 401, si se envió el válido se recibió una respuesta 200.

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks