Authorization (AZA)
How to play?Players can discuss any type of Authorization (AZ) attack they think might be possible against the assessment target. It does not matter if the attack relates to another AZ card, but if possible try to identify an attack that is fairly unique to the application/functionality/users.
Scenario: Invent your own Authorization threat
Inventing an authorization threat could lead to:
- Privilege Escalation: Users access admin features, financial controls, or sensitive operations.
- Data Exposure: Accessing confidential records, PII, or sensitive business data.
- Unauthorized Actions: Performing operations like deleting records, approving transactions, or changing configurations.
- Bypassing Business Rules: Exploiting logic flaws to do things like submit duplicate orders, skip approval workflows, or manipulate dates.
- Repudiation / Audit Issues: Unauthorized actions may not be traceable to the attacker.
- Chaining Attacks: Authorization flaws can combine with other vulnerabilities (like injection or session attacks) for greater impact.
- Potential Denial of Service: Overloading admin functionality or removing access for legitimate users.
Threat Modeling
STRIDE
Any of the STRIDE categories may be applicable, but primary impact is usually Elevation of Privilege, since bypassing authorization typically means doing more than you should.
What can go wrong?
Privilege escalation, data leaks, unauthorized actions, bypassed business rules, audit failures, chained attacks, potential DoS.
What are we going to do about it?
Centralized controls, least privilege, rechecking per request, logging, segregation of duties, secure storage, fail-secure, periodic review/testing.
- Centralized Authorization: All access decisions go through a single, trusted module.
- Principle of Least Privilege: Users get only the permissions they need for their tasks.
- Role-Based or Attribute-Based Access Controls: Clearly define roles and attributes, enforce strict access policies.
- Recheck Authorization: Don’t trust previous checks; validate for every request or critical operation.
- Audit and Logging: Log all access attempts, including failed and unauthorized ones.
- Segregation of Duties: Avoid a single user having too many critical permissions.
- Regular Review and Testing: Periodically review roles, permissions, and test for flaws.
- Fail Secure: Deny access by default if the system is unsure or fails.
- Input Validation: Prevent manipulation of authorization parameters (e.g., user IDs, role fields).
- Protect Authorization Data: Store roles, privileges, and ACLs securely to prevent tampering.
Mappings
OWASP ASVS (v5.0): -
OWASP DevGuide: -
STRIDE: -
CAPEC™: -
SAFECode™: -
ASVS (5.0) Cheat Sheet Series Index
No attacks registered!