No Rate Limit On Reset Password

Disclosed: 2020-07-17 20:29:24 By dianeme To stagingdoteverydotorg
Medium
Vulnerability Details
## Summary: 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 time frame, HTTP servers can respond with status code 429: Too Many Requests. (wikipedia) I just realize that on the reset password page, the request has no rate limit which then can be used to loop through one request. ## Steps To Reproduce: 1. Go to https://staging.every.org/resetPassword , enter the email then click reset password 2. Intercept this request in burp suite POST /dbconnections/change_password HTTP/1.1 Host: login.every.org User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0 Accept: */* Accept-Language: id,en-US;q=0.7,en;q=0.§3§ Accept-Encoding: gzip, deflate Content-Type: application/json Auth0-Client: eyJuYW1lIjoiYXV0aDAuanMiLCJ2ZXJzaW9uIjoiOS4xMS4xIn0= Content-Length: 130 Origin: https://every.org Connection: close Referer: https://every.org/resetPassword {"client_id":"1bT892TGga38o0GFw5EusmGnV9b3kjCq","email":"[email protected]","connection":"Username-Password-Authentication"} 3. Send it to the intruder and repeat it by 50 times 4. You will get 200 OK status 5. I already attached the PoC video too if you don't understand my explanation ## Supporting Material/References: [list any additional material (e.g. screenshots, logs, etc.)] https://hackerone.com/reports/751604 https://hackerone.com/reports/441161 https://hackerone.com/reports/280534 ## Suggested fix Use CAPTCHA verification if many request sent. ## Impact Trouble to the users on the website because huge email bombing can be done by the attackers within seconds.
Actions
View on HackerOne
Report Stats
  • Report ID: 838572
  • State: Closed
  • Substate: resolved
  • Upvotes: 33
Share this report