Course outlinetap to jump← Web Application Security
Language
OWASP Top 10 core

Lesson 11 of 22 · ~22 min

Broken Access Control

Vertical and horizontal privilege bugs.

Broken Access Control

Course: Web Application Security
Level: Intermediate
Module: AppSec
Duration: 45–60 min

Broken Access Control
Broken Access Control

Learning objectives

  • Explain Broken Access Control the way a junior AppSec engineer would
  • Map the idea to login, checkout, or API flows you already use
  • Know a safe lab way to observe the issue (Juice Shop / CYNARKS Labs)
  • Pass the knowledge check without attacking real sites

1. In one sentence

Access control fails when the app doesn’t enforce what each user may do after login.

2. Why it matters (daily life)

Vertical: user → admin. Horizontal: user A → user B’s data. Often #1 in OWASP discussions.

3. How it works

Enforce AuthZ on every object/action server-side; deny by default; test role matrices.

4. Real-world / authorized lab example

Intern account reaches Razorpay-like refund admin in a lab app → broken vertical control.

5. Fix mindset (builders)

Prefer input validation, parameterized queries / safe APIs, least-privilege sessions, security headers, and regression tests. “Patch later” is how IDOR and XSS become incidents.

6. Common mistakes

UI hiding buttons without server checks; trusting isAdmin=true from client.

7. Practical habit (authorized labs only)

  1. Reproduce on an intentional vulnerable app in Labs.
  2. Capture request/response notes (redact secrets).
  3. Write the fix in one paragraph a developer can ship.
  4. Retest after the fix — same steps, expect fail-closed.

8. Memory tip

Explain this using Gmail login, Instagram, PhonePe checkout, or a college portal — as a story, without attacking real sites.

Burp Suite Practice intercepts only on authorized lab apps (e.g. Juice Shop in Labs).

Knowledge Check

Q1. Vertical vs horizontal?

A. Test only on authorized lab apps and report clear remediations
B. Probe live banking / college sites without written permission
C. Ignore HTTPS and mishandle sessions on purpose in production
D. Disable logging so findings cannot be traced

Q2. Where must AuthZ run?

A. Test only on authorized lab apps and report clear remediations
B. Probe live banking / college sites without written permission
C. Ignore HTTPS and mishandle sessions on purpose in production
D. Disable logging so findings cannot be traced

Q3. Client-side checks enough?

A. Test only on authorized lab apps and report clear remediations
B. Probe live banking / college sites without written permission
C. Ignore HTTPS and mishandle sessions on purpose in production
D. Disable logging so findings cannot be traced

Answer Key

  1. A
  2. A
  3. A

Lesson Summary

Broken Access Control is a building block of modern web risk. Learn it deeply; practice only where you are allowed.

Coming next

Continue the Web Application Security syllabus. Keep your proxy pointed at lab targets only.


CYNARKS Academy – Learn to Understand. Practice to Defend.
Never test live PhonePe, Instagram, Razorpay merchant panels, or college portals without written permission.