-
Notifications
You must be signed in to change notification settings - Fork 130
Description
Describe the bug
A clear and concise description of what the bug is.
Rate-limit restriction helps ensure a certain threshold is put in place to prevent excessive request.
AIxBlock has put in place a rate-limit restriction helps protect that prevent multiple requests within a time-frame.
The restriction put in place by AIxBlock is currently -- 3 requests on password reset before you get rate-limited (you will be forced to wait for 5 minutes before you can send your 4th request)
Leveraging on race-condition vulnerability on password reset endpoint, the restriction of 3 requests was bypassed allowing a threat actor to send more than 3 requests. Hence, the protection put in place was bypassed.
To Reproduce
Steps to reproduce the behavior:
-
Go to Account Settings --> Profile Settings --> Reset Password (Internal or External Password Reset Functionality)
-
Enter targeted email address --> Click on Confirm --> 'https://app.aixblock.io/user/reset-password'
-
Intercept the request using your preferred proxy tool (I used Burp suite proxy)
-
Forward the request to Turbo Intruder or your preferred -- concurrency / threading tools.
-
Use the payload below or modify it to suite your result (more threads / connection)
Expected behavior
As AIxBlock team has implemented Rate-Limit protection, also ensure Race-Condition (multi-threading / concurrency) protection is enforced. Ensure rate-limit restriction bypass via concurrency or multi-threading flaw is also enforced by using semaphore or thread locking methods.
Screenshots
Find attached video
Desktop (please complete the following information):
- OS: Ubuntu
- Browser: Firefox