Rate Limit Bypass
Rate limit bypass occurs when an attacker circumvents the application’s intended request throttling or usage restrictions. Rate limiting is designed to control how often a user can perform a specific action within a given timeframe. When improperly implemented, attackers can send unlimited requests, enabling brute force, enumeration, account takeover, spam, denial-of-service, and large-scale abuse of the application's features.
Business logic attacks often arise from assumptions—developers design workflows for honest users, not attackers who modify requests, automate traffic, and exploit weak enforcement. Rate limit bypass is one of the most common logic flaws.
Understanding Rate Limits
Rate limiting aims to restrict:
-
login attempts
-
OTP or verification requests
-
password reset attempts
-
search or filtering operations
-
comment or message submissions
-
API calls
-
resource-intensive actions
-
checkout or purchase flows
A basic rate limit might allow:
5 requests per minute per user
If attackers can bypass or reset the limit, the protection becomes useless.
How Rate Limit Bypass Happens
Rate limit bypass occurs due to:
-
enforcing limits based on client-controlled values
-
trusting headers that can be spoofed
-
keying limits on weak identifiers
-
lack of global or server-side tracking
-
relying on front-end UI restrictions
-
using naive IP-based rate limiting
Attackers manipulate the rate-limiting logic to send unlimited requests.
Common Rate Limit Bypass Techniques
1. IP Spoofing via Headers
Applications often trust headers such as:
-
X-Forwarded-For -
X-Real-IP -
Client-IP
Attackers rotate header values:
X-Forwarded-For: 1.1.1.1
X-Forwarded-For: 2.2.2.2
If rate limit is IP-based and trusts headers → bypass.
2. Rotating Proxy or VPN IPs
Simple but effective:
-
load balancers
-
Tor exit nodes
-
botnets
-
public proxies
Each IP resets rate limits.
3. Changing Request Methods
Some rate limits apply only to specific methods.
Example:
POST /login → rate limited
GET /login → not limited
Attackers switch methods to bypass.
4. Parameter Pollution
Injecting multiple values:
email=test@example.com&email=victim@example.com
If backend misinterprets it, the request may bypass filters.
5. Multiple Endpoints Trigger Same Action
Rate limit might exist only on:
POST /login
But alternative routes bypass it:
POST /api/login
GET /v2/auth
POST /auth
These endpoints perform the same action without limits.
6. Using Different Content-Types
Rate limit applies only to:
Content-Type: application/json
But attackers use:
application/x-www-form-urlencoded
multipart/form-data
text/plain
Rate limiter fails to apply universally.
7. Header Manipulation to Bypass Filters
Some systems accidentally key rate limits on:
User-Agent
Referer
Origin
Language
Cookie
Attackers modify these values each request.
8. Cookie Reset or Token Rotation
If rate limit is tied to:
-
session ID
-
JWT token
-
cookie value
Attackers reset or generate new tokens on every request.
9. Distributed Attacks
Automation distributes requests across:
-
multiple devices
-
containers
-
cloud servers
Each node stays under the limit.
10. Using HTTP/2 Multiplexing
Some rate limiters count connections, not requests.
HTTP/2 allows multiple requests in a single connection → bypass.
11. Using WebSockets
If rate limits apply only to HTTP endpoints:
ws://api.example.com/auth
WebSocket authentication flows may avoid HTTP rate limiting.
12. CDN / Load Balancer Inconsistency
Some systems apply rate limits:
-
at CDN layer
-
but not at backend
-
or vice versa
Attackers target unprotected layer.
Practical Rate Limit Testing Workflow
Step 1: Identify Rate-Limited Actions
Test operations such as:
-
login
-
OTP request
-
password reset
-
registration
-
search
-
comment submission
-
file upload
Trigger them repeatedly.
Step 2: Detect Rate Limit Response
Typical responses:
429 Too Many Requests
Rate limit exceeded
Retry-After: 60
If no such response appears, rate limit may not exist.
Step 3: Attempt Bypass Techniques
Test:
-
changing IP
-
modifying headers
-
altering tokens
-
switching endpoints
-
switching HTTP method
Observe if rate limit resets or disappears.
Step 4: Burp Suite Intruder Testing
Use Intruder with:
-
cluster bomb
-
pitchfork
-
sniper
Check which payloads evade the limiter.
Step 5: Test Timing Thresholds
Attackers often test:
-
very fast bursts
-
slow, distributed requests
-
alternating intervals
Some rate limiters only measure per-second spikes.
Step 6: Check API Documentation or Hidden Endpoints
Developers often forget to apply checks to:
-
older versions
-
testing endpoints
-
mobile APIs
-
admin/backend APIs
These become weak points.
Step 7: Combine Techniques for Maximum Bypass
Example bypass chain:
-
Modify IP through header
-
Reset cookie value
-
Switch between
/loginand/auth/login -
Use POST then GET
-
Vary payload formatting
Each variation may evade one layer of rate limiting.
Advanced Rate Limit Bypass Scenarios
OTP / 2FA Bypass
Attackers spam OTP requests:
-
brute-force OTP codes
-
exhaust user’s SMS
-
disable account temporarily
If rate limits are poorly enforced, OTP brute-force becomes feasible.
Password Reset Token Brute Force
Reset tokens:
abcdef123456
Attackers attempt thousands of guesses if no rate limit applies.
Enumeration Attacks
Attackers enumerate:
-
usernames
-
emails
-
phone numbers
-
order IDs
-
invoice numbers
-
coupon codes
Rate limit bypass enables high-speed enumeration.
Denial of Wallet Abuse (Financial Apps)
Without limits, attackers:
-
claim unlimited coupons
-
generate unlimited referrals
-
spam transaction flows
This is a common business logic failure.
API Key Abuse
If an API uses per-key rate limits:
Attackers generate unlimited keys by creating disposable accounts.
Multi-Parameter Rate Limit Bypass
Some systems track limits by only one parameter:
IP + action
Attackers modify the “action” slightly:
/login
/login?step=1
/login?version=2
/login?flow=mobile
Each is treated as a different action, bypassing limits.
Why Rate Limit Bypass Happens
Root causes:
-
relying on weak identifiers (IP, headers)
-
implementing restrictions only on the frontend
-
inconsistent backend access control
-
lack of uniform enforcement across API versions
-
poor understanding of attacker behavior
-
improper trust in CDN or load balancer headers
-
assuming users won’t alter or automate requests
Rate limits must always be server-side, consistent, and hardened.
Impact of Rate Limit Bypass
Rate limit bypass enables:
-
brute-force attacks
-
denial-of-service
-
OTP brute forcing
-
credential stuffing
-
account takeover
-
spam, abuse, fraud
-
massive enumeration
-
resource exhaustion
-
financial loss
-
large-scale API abuse
Rate limit bypass can compromise both security and business operations.
Intel Dump
-
Rate limit bypass occurs when request throttling is implemented weakly or inconsistently.
-
Common bypasses include IP spoofing, header manipulation, alternate endpoints, method switching, token resets, and distributed attacks.
-
Testing uses Burp Suite, automation, and variation across headers, methods, and endpoints.
-
High-risk features include login, OTP, password reset, search, and financial actions.
-
Impact ranges from brute-force and enumeration to full account takeover and business logic exploitation.