skip to content

The Rise of Broken Access Controls

The Rise of Broken Access Controls

Broken Access Controls

According to the OWASP Top 10 (2021), Broken Access Control rose from fifth place to claim the top spot, highlighting its growing prevalence and severity. In fact, 94% of applications tested were found to have some form of access control weakness (OWASP, 2021). Often overlooked, this vulnerability poses a serious risk to web application security.

Access control defines what actions authenticated users are permitted to perform within an application. When it’s not implemented correctly, attackers can take advantage in several ways—such as accessing restricted resources meant for admins, impersonating other users to view or modify their data (horizontal privilege escalation), or even gaining full administrative access (vertical privilege escalation). In some cases, simply altering URL parameters or directly accessing hidden endpoints is enough to bypass these restrictions.

Common Access Control Flaws

Here are typical flaws that lead to broken access control:

  • Insecure ID references (IDOR) – Changing the ID in a URL exposes another user’s data.
  • Missing object-level authorization – Backend does not validate if the user is allowed to access a resource.
  • Unrestricted administrative functions – Admin features accessible by regular users.
  • Forced browsing – Navigating directly to endpoints that aren’t linked on the UI but are still accessible.

Exploiting Broken Access Control

Without delving too deep into the various subtopics, let’s take a simple example where user profile data is fetched via the following request:

GET /api/profile/1002 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6…

If the backend does not verify that the authenticated user owns profile 1002, then an attacker can change the ID to another user’s profile (1003):

GET /api/profile/1003

If successful, an unauthorized user can access the application as user 1003. This is a classic Insecure Direct Object Reference (IDOR).

Tools and Techniques for Discovery

Though there is the option of automated scanners, manual testing remains the most effective way to uncover broken access control as its counterpart may miss out on logic flaws. Here are some of the common tools used:

  • Burp Suite (intercept and modify requests)
  • OWASP ZAP
  • Postman or curl (for crafting custom API requests)
  • AuthMatrix plugin (for testing role-based access)

Mitigation Strategies

Start by denying access by default and granting permissions explicitly. Always enforce access checks on the server side and never trust frontend controls.

Use context-aware checks to validate both user roles and resource ownership. Apply these consistently across all endpoints using middleware or access control frameworks.

Finally, log failed access attempts to catch suspicious activity early. These simple steps go a long way in preventing serious security breaches.

Conclusion

Broken Access Control is not a flashy vulnerability, but it’s a high-impact, high-frequency issue that silently undermines your application’s security model. As applications grow more complex with APIs, microservices, and role-based logic, ensuring proper access control becomes more critical than ever. To the untrained eye these threats may not be as prevalent.

At Hexadius Consulting, we specialize in identifying and mitigating complex access control flaws. From secure design reviews to manual penetration testing, our experts ensure your applications uphold the principle of least privilege and enforce access boundaries effectively. Reach out to us today to secure your application today.

References

https://owasp.org/Top10/A01_2021-Broken_Access_Control
https://portswigger.net/web-security/access-control
Table of Contents

Stay Informed

Receive our latest blogs directly in your inbox