Broken Access Control: How to Test Permissions in an Application

Broken Access Control testing is performed only in a lab or an authorized system. Request/Response, server behavior, Roles, State, and impact are examined using minimal tests that do not damage data.
Web and API security testing should examine the boundaries of trust, permissions, input, state, and business logic. Every test in this article is intended for a lab, CTF, or a system for which explicit authorization has been granted. This article focuses on Broken Access Control testing and is intended for Web PT students and developers. The goal is to provide a working method that can be applied in practice, in a professional interview, and in a work environment, without settling for a dictionary definition.
The central challenge is that the data is almost always incomplete. Role matrices, object identifiers, and server-side authorization can point in a direction, but their meaning depends on the time, asset, user, and expected activity. Therefore, we will build the test around an investigative question, required evidence, and clear criteria for completion.
The practical scenario in the article is: a permissions matrix for a lab application. All examples are lab data or descriptions of processes. When performing Penetration Testing, Web, or Cloud, one must work only with explicit permission, a defined Scope, and the ability to stop the test.




