Cybersecurity & Information Security

Broken Access Control: How to Test Permissions in an Application

6 min readPublished: August 5, 2026
Professional visual illustration on Broken Access Control testing in Web and API PT
Quick answer

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.

Permissions Model

In Broken Access Control testing, identity and authorization are two different questions: who is the client, and what are they allowed to do to the resource. Roles, Claims, Session, Object ownership, and changes throughout the lifecycle are checked, not just that the user is 'logged in'.

A test matrix includes an anonymous user, a regular user, an object owner, another user, and an administrator. For each action, the Response and server-side impact are compared. Changing an identifier or Header is only a testing means; the evidence is that the server allowed or denied an action contrary to policy.

Horizontal vs. Vertical

To understand the difference in the context of Broken Access Control testing, it's important to compare goals, not just tools. One option provides breadth or speed, and another provides deep validation or context. The correct choice depends on the question: Is discovery, investigation, impact proof, containment, or reporting required?

A professional comparison table should include at least: input type, certainty level, operational cost, potential impact, limitations, and required follow-up. In case of doubt, use the least intrusive approach and add a complementary source instead of drawing too broad a conclusion.

Testing Endpoints and Actions

The topic 'Testing Endpoints and Actions' is a central part of working on Broken Access Control testing. It is recommended to break it down into three questions: what is the input, what decision do you want to make, and what evidence is sufficient to justify it. These questions prevent automatic tool use without understanding the goal.

In practice, write down the role matrix, object identifiers, server-side authorization, horizontal/vertical access, response differences, compare to expected behavior, and define at least one Pivot. The result should be verifiable by another analyst, including limitations and next steps.

Evidence and Risk

The topic 'Evidence and Risk' is a central part of working on Broken Access Control testing. It is recommended to break it down into three questions: what is the input, what decision do you want to make, and what evidence is sufficient to justify it. These questions prevent automatic tool use without understanding the goal.

In practice, write down the role matrix, object identifiers, server-side authorization, horizontal/vertical access, response differences, compare to expected behavior, and define at least one Pivot. The result should be verifiable by another analyst, including limitations and next steps.

Remediation and Retest

Professional Broken Access Control testing begins with success and failure conditions. Define a positive Case, a negative Case, a boundary Case, and similar legitimate activity. This allows identifying both False Negatives and False Positives.

In an authorized environment, a minimal action that proves the claim without causing harm is used. Input, Output, time, and version are saved, and after remediation, a Retest is performed in the same scenario, and Regression on nearby functions is also checked.

Unique Test Focus Areas

On this topic, it is recommended to build a focused evidence map in advance. The main test focus areas are: role matrix, object identifiers, server-side authorization, horizontal/vertical access, response differences, audit logs. The list is not an automatic Checklist; each item is chosen because it can link an entity, action, and time or explain legitimate behavior.

  • role matrix: Define the expected value, what would be considered an anomaly, and what additional source would confirm the finding.
  • object identifiers: Define the expected value, what would be considered an anomaly, and what additional source would confirm the finding.
  • server-side authorization: Define the expected value, what would be considered an anomaly, and what additional source would confirm the finding.
  • horizontal/vertical access: Define the expected value, what would be considered an anomaly, and what additional source would confirm the finding.
  • response differences: Define the expected value, what would be considered an anomaly, and what additional source would confirm the finding.
  • audit logs: Define the expected value, what would be considered an anomaly, and what additional source would confirm the finding.

When one of the focus areas is unavailable, the gap must be documented, and an alternative chosen. For example, if a Process identifier is unstable, time, Host, User, and Parent can be used; if a Payload is encrypted, Metadata, volume, frequency, and TLS/DNS context are used.

Practical Scenario

The chosen scenario is a permissions matrix for a lab application. The purpose of the exercise is not to prove attack capability, but to practice safe collection, comparison, and documentation. Before starting, define mock data, a time window, and an expected outcome.

At the end of the exercise, a product that another analyst or tester can review should be submitted: a screenshot or Export of the evidence, a short Timeline, an initial assumption, corroborating evidence, a limitation, and a recommendation. When there is insufficient evidence, the correct conclusion is that the scenario was not proven.

StageWhat to doOutput
PreparationDefine Scope, time, and goal. List which fields or evidence from role matrix, object identifiers, server-side authorization are expected to appear.Short test plan
Data CreationPerform a safe, simulated action related to Broken Access Control testing, without real information or impact on a production system.Controlled event/Request/Flow
CollectionCollect the raw evidence and context from an additional source. Ensure Time zone, identifiers, and integrity.Two linked pieces of evidence
AnalysisWrite what each piece of evidence proves, what it doesn't prove, and what the possible legitimate explanation is.Interim conclusion
CompletionChoose closure, escalation, Finding, or Tuning; add a recommendation and Retest.Documented output

Practical Checklist

  • Check and document: Role and session.
  • Check and document: Endpoint and method.
  • Check and document: Request/Response.
  • Check and document: Object identifier.
  • Check and document: Server-side effect.
  • Check and document: Control expected and remediation.
  • Specify Time zone, tool version, and collection time.
  • Save the raw data before filtering or modification.
  • Write what the finding proves and what is still unknown.
  • Define owner and next action with a due date.

Common Mistakes

  • Checking only Status code.
  • Relying on Client-side changes.
  • Using a dangerous Payload.
  • Not checking different Roles.
  • Ignoring business logic.
  • Reporting without clean Request/Response.

Summary and CTA

Broken Access Control: How to Test Permissions in an Application is a topic that connects technical knowledge with work discipline. Start with a question, collect only relevant evidence, maintain context and time, and choose an action that can be justified and re-tested.

In HPI's Cybersecurity & AI track, these principles are practiced using systems, logs, and labs. A natural continuation is to proceed to the linked articles, perform the lab exercise, and save the output as part of a professional portfolio.

FAQ

Is it allowed to test Broken Access Control on a public website?

No, not without explicit permission from the system owner. Even a seemingly simple test can change data, trigger defense mechanisms, or be considered unauthorized access.

What do you do when some data is missing?

Document the missing data, check for an alternative source, and reduce the confidence level. Do not complete fields by conjecture or present 'Unknown' as valid.

How long should evidence be retained?

The time depends on policy, regulation, cost, and the type of event. It is important to define Retention, Legal hold, and the ability to export evidence in a verifiable format in advance.

How do you practice without risking a real system?

Use virtual machines, mock data, CTF, or a dedicated lab. In authorized tests, define Scope, Stop conditions, and backup before starting work.

Want to check if this track is right for you?

Leave your details and an HPI advisor will get back to you for a short, no-obligation fit call.

Your details are stored securely.

For SOC and Cyber studies within the Cybersecurity & AI program

Want to hear the details? Leave your info and we'll get back to you.

Related articles