Security vulnerabilities

  • Status Closed
  • Assigned To
    cbay
  • Private
Attached to Project: Security vulnerabilities
Opened by Sudo12 - 25.04.2025
Last edited by cbay - 25.04.2025

FS#160 - Found a No Rate limit bypass on login form

Hi Sir,

i am a Security researcher and a full time bug hunter i saw your bug
bounty program so i decided to test some vulnerability and i got No
Rate limiting on login form

here is the brief introduction of my bug please have a look

Severity = 6.5 to 7.5 (Medium to High)

(*) What is No Rate Limiting on the Login Form?

Rate limiting is a security measure that restricts the number of
requests a user can make to a server or system in a defined time
period. It helps mitigate brute force attacks by limiting the number
of login attempts a user can make in a short time frame.

When no rate limiting is applied to a login form, an attacker or
malicious user can send an unlimited number of requests, trying
various combinations of usernames and passwords. This could result in
unauthorized access or application-level denial of service (DDoS)
attacks if abused.

Overview of this Vulnerability During testing of the login functionality, I discovered a rate limiting bypass based on HTTP method manipulation. While the application initially enforced rate limiting when using the PUT method, switching the request method to PUT allowed me to bypass this protection entirely. Using the PUT method, I was able to send over 2,000 login requests without triggering any rate limiting mechanisms such as throttling, CAPTCHA, or account lockout. This confirms that the rate limiting controls are not consistently enforced across different HTTP methods. As a result, the application is exposed to brute force, credential stuffing, and denial-of-service attacks, allowing attackers to automate large-scale login attempts without restriction. Impacts

(1) Brute Force & Credential Stuffing Attacks:

Without rate limiting, attackers can try an unlimited number of
password combinations against the login form. This allows for brute
force or credential stuffing attacks, where an attacker can automate
the process of trying stolen or commonly used passwords for a given
username. With no restrictions on the number of login attempts, it
significantly increases the chances of gaining unauthorized access to
user accounts

(2) Account Takeover (ATO) Risk:

The absence of rate limiting makes it easier for attackers to gain
access to user accounts by attempting multiple password combinations.
Once an attacker successfully cracks a password, they can take over an
account and perform malicious actions, such as stealing sensitive data
or making unauthorized transactions.

(3) Denial of Service (DoS) or Application-Level DDoS:

The lack of rate limiting on the login form means that the server can
be overwhelmed with a high volume of requests. Attackers can flood the
login page with thousands of requests, leading to potential server
downtime or slowdowns. This can prevent legitimate users from
accessing the site, degrading the user experience and disrupting
normal service operations. It can also lead to increased server load
and higher operational costs.

(4) Increased Attack Surface for Automated Tools:

Automated tools like Burp Suite Intruder or Hydra can easily exploit
the lack of rate limiting, allowing attackers to test massive amounts
of login credentials in a short period of time. This increases the
risk of automated attacks, as attackers can use these tools to exploit
the vulnerability without manual intervention.

(5) Loss of Trust and Reputation:

If attackers are able to successfully break into accounts due to the
lack of rate limiting, it can lead to a loss of trust among users. If
users discover that their accounts can be easily compromised, it could
damage the reputation of the service or platform, leading to reduced
user engagement and retention.

Steps to reproduce (1) Navigate to the url https://translate.alwaysdata.com/login/?next=/ (2) Configure Burp Suite or any proxy tool (such as FoxyProxy in
Firefox) to intercept the HTTP request. (3) Attempt to log in with invalid credentials:
Submit a login attempt using incorrect username/password. Intercept this request and send it to Burp Repeater. (4) Send the same request multiple times in Repeater:
Continuously send the POST request.
After a certain number of requests, you’ll observe a 429 Too Many Requests response, confirming that the server has rate limiting in place for POST requests. (5) Modify the request method from POST to PUT in Repeater: Change the HTTP method from POST to PUT (keeping the same endpoint and parameters). Send the modified request and observe the 403 Bad Request response. (6)Send the modified PUT request to Burp Intruder: After modifying the method to PUT, send the request to Burp Intruder to test it with a wordlist.
Load a wordlist (e.g., Word.txt). (7) Send 2,000+ requests: I sent over 2,000 requests with invalid credentials and continued to receive HTTP 403 responses, confirming that rate limiting was bypassed and there were no restrictions for GET requests. (8) Observe Results: The system did not trigger any lockouts, CAPTCHAs, IP blocks, or delays between requests, confirming the absence of rate limiting on the PUT method.
Proof of Concept (PoC)

i am providing some videos and screenshot of this vulnerability as proof of concept for this vulnerability

refer this link for all the pocs = https://drive.google.com/file/d/17NAxfE1BfyapBJuy3mCq01b47iBR3zCQ/view

I will be waiting for your reply team

Regards,
Sudo
Security researcher / Bug Hunter

Closed by  cbay
25.04.2025 11:57
Reason for closing:  Invalid
Admin
cbay commented on 25.04.2025 11:57

Hello,

As per our bug bounty program, https://translate.alwaysdata.com/ is out of scope. Brute force attacks are also out of scope.

Kind regards,
Cyril

Hi Cyril,

Thank you for your response and for reviewing my submission.

I would like to clarify a few points regarding the report:

(✅) First, regarding the scope:

At the time of my testing and submission, there was no indication in the published program policy that https://translate.alwaysdata.com/ was listed as out-of-scope. If the asset was intended to be out of scope, it would be helpful to update the program’s public scope listing to avoid future misunderstandings.

(✅) Second, regarding the reported issue:

The report concerns missing rate limiting on the authentication/login endpoint — not a brute-force attack.

Rate limiting issues are reported when repeated authentication attempts are allowed without restriction, which opens potential for abuse even without successful credential guessing.

Brute force (successfully guessing passwords) and missing rate limiting (missing controls to restrict attempts) are two different vulnerabilities.

(*) In this case:

I demonstrated the ability to send a very high number of login attempts without being throttled, blocked, or delayed

No IP restrictions, CAPTCHAs, or 429 rate limit errors were enforced

This leaves the endpoint exposed to credential stuffing, login abuse, and service disruption attempts, which are standard security concerns independently of whether brute-force itself is in scope.

(🔍) Summary:

This report concerns missing abuse-prevention controls, not successful account takeover or brute-forcing, and the asset was not marked as out-of-scope during submission.

I hope you’ll consider re-evaluating the report under this clarification.

Thank you again for your time and consideration.

Best regards,

Sudo

Security researcher / Bug Hunter

Admin
cbay commented on 28.04.2025 07:16
At the time of my testing and submission, there was no indication in the published program policy that https://translate.alwaysdata.com/ was listed as out-of-scope.

Yes it was, see the Wayback Machine.

The report concerns missing rate limiting on the authentication/login endpoint — not a brute-force attack.

The whole point of rate limiting is to prevent brute-force or Denial of Service attacks, as you say it yourself. Both are explicitely out of scope.

Hi Cyril,

Please stop making excuses by referring to the Wayback Machine to claim the domain was out-of-scope.
If the asset was truly out-of-scope, it should have been clearly mentioned in your official live bug bounty policy at the time of my testing and submission — not hidden in archived versions that researchers have no obligation to check.

The fact that you're relying on historical data after submission reflects poorly on transparency.
If researchers cannot trust your live scope, it leads to unnecessary misunderstandings and wasted effort.

Now, regarding the vulnerability itself:

Please read this carefully:

✅ Rate limiting is a security control to prevent abuse, not a brute-force vulnerability itself.
✅ Missing rate limiting is recognized by OWASP and major security standards as a separate issue.
✅ Brute-force being out-of-scope does not automatically make missing rate limiting out-of-scope unless explicitly stated — which was not the case.

In my report:

I did not claim unauthorized access or brute-forcing.

I demonstrated a missing security control that exposes your platform to mass automated attacks (credential stuffing, bot attacks, login flooding).

🎯 Summary:

My report was submitted based on the public scope at the time.

The vulnerability is valid and distinct from brute-forcing.

The rejection reasoning provided does not align with standard vulnerability management expectations.

I hope in the future you will update your scope more clearly and avoid misleading researchers who engage with your program in good faith.

Thank you for your time.

Best regards,

Sudo
Security researcher / Bug Hunter

Admin

Hello,

When you say "to update the program's public scope listing to avoid future misunderstandings," which public list are you referring to, and on which address can we reached it?

Regards,

Hi,

Actually am talking about your program scope listing =https://help.alwaysdata.com/en/security/bug-bounty/ where you haven't update that this domain is out of scope and now you guys are referring me waybackmachine links and saying that we have mention that it's out of scope this is not fair sir

i hope you will understand me

Regards,

Sudo
Security researcher / Bug Hunter

Admin

We have defined the scope exhaustively and it cannot be clearer than that:
"The research scope only include following addresses […] Vulnerabilities reported on other services or applications will not be addressed."

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing