Sorry, we don't support your browser.  Install a modern browser

No Rate Limit On Forgot Password [(Weakness Improper Authentication - Generic]#557

Introduction
A little bit about Rate Limit:A rate limiting algorithm is used to check if the user session (or IP-address) has to be limited based on the information in the session cache.In case a client made too many requests within a given timeframe, HTTP-Servers can respond with status code 200: Too Many Requests.

Description:

I have identified that when Forgetting Password for account , the request has no rate limit which then can be used to loop through one request. Which can be annoying to the root users sending mass password to one email.

Steps To Reproduce The Issue :

Step 1-Go To This Link https://birdeye.so Enter Email Click On Forgot Password.

Step 2- Intercept This Request In Burp And Forward Till You Found Your email In Request Like (Forgot Password)

POST /user/lost-password HTTP/2
Host: multichain-api.birdeye.so
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0
Accept: application/json, text/plain, /
Accept-Language: id,en-US;q=0.7,en;q=0.§3§
Accept-Encoding: gzip, deflate
Content-Type: application/json
Agent-Id: ecba1ea3-1514-4d21-b823-7e521c0c7c6d
Cf-Be: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MTkyMjM1OTksImV4cCI6MTcxOTIyMzg5OX0.TvA4STKV-46Hem4uiNDQspBk4XqT5qX3KD8kyJXV3Uw
Content-Length: 31
Origin: https://birdeye.so
Referer: https://birdeye.so/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-site
Priority: u=1
Te: trailers

{“email”:”[email protected]“}

Step 3- Now Send This Request To Intruder And Repeat It 100 Time By Fixing Any Arbitrary Payload Which Doesn’t No Effect Request I Choose
Accept-Language: en-US,en;q=0.§5§

Step 4 - See You Will Get 200 ok Status Code & 100 + Email In Your INBOXSee It Is Resulting In Mass Mailing Or Email Bombing To Your Users Which Is Bad For Business Impact

Solution -I Will Recommend You To Add A ReCaptcha & Sort Of Something Which Requires Manual Human Interaction To Proceed Like You Can Add Captcha Like 2+2=___ so that it cannot be brute forced and you also can have a limit at the backend for particular number upto 5 times a day user can request Forget Password Email or Link something like that will prevent you from someone exploiting this vulnerability

POC- Find Video Attached Below

Impact:
If You Are Using Any Email Service Software API Or Some Tool Which Costs You For Your Email This Type Of Attack Can Result You In Financial Lose And It Can Also Slow Down Your Services It Can Take Bulk Of Storage In Sent Mail Although If Users Are Affected By This Vulnerability They Can Stop Using Your Services Which Can Lead To Business Risk

18 days ago
Changed the status to
In Progress
18 days ago

Is there any follow-up action for this bug?

17 days ago