Cyberlium
Cyberlium
Cyberlium on Android·Google Play Store

Learn cybersecurity with hands-on labs and AI mentor support on your phone.

Mod 6 · Les 1/5
In progress
Module 6•Lesson 1 of 5•⏱️ 15 min read•Beginner+39 XP

BOLA Named

Broken Object Level Authorization — after login, still check the object. Lab :8815.

BOLA Named
00:00/02:35

Visual · api_bola_named

BOLA is authz on objects. Original Cyberlium.

Logged in is not the same as allowed on this row.

BOLA (OWASP API1 family) is when the API authenticates you but fails to check ownership/tenant on the object ID. Practice the idea on YOUR lab — never ID-swap against stranger tenants.

1. Definition

User A authenticates. User A requests /orders/1002 belonging to B. Server returns B's data → BOLA.

Finding language: missing object-level authorization. Fix: deny by default; enforce ownership server-side.

Command guide

Try these commands — Definition

═══ TOOLS & WEBSITES ═══ Browse / read these (authorized learning only — stay in YOUR lab / program scope)

OWASP API1 BOLA — https://owasp.org/API-Security/editions/2023/en/0xa1-broken-object-level-authorization/ Authorization cheat sheet — https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html

═══ INSTALL ═══

Linux (Debian/Ubuntu):

Command — copy this

sudo apt install curl

macOS: Built-in

Windows: Built-in (PowerShell: Invoke-WebRequest)

═══ LINUX / macOS ═══

Command — copy this

curl -sS -H "Authorization: Bearer userA" http://127.0.0.1:8815/orders/1001
curl -sS -o /dev/null -w "cross-user order %{http_code}
" -H "Authorization: Bearer userA" http://127.0.0.1:8815/orders/1002

Primary tools to practice this lesson: curl. Reference sites: OWASP API1 BOLA (https://owasp.org/API-Security/editions/2023/en/0xa1-broken-object-level-authorization/); Authorization cheat sheet (https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html). Run every command in the box — install first, then the usage lines — only on YOUR lab / program scope.

2. Why APIs get this wrong

UI only shows A's orders. API still accepts any ID. Developers trust the client.

Horizontal (peer) and vertical (privilege) failures both appear in API Top 10 discussions.

3. Scope wall

Only change IDs on YOUR teaching API with toy users.

Do not hunt IDOR on random SaaS.

4. What you ship: BOLA definition

Authn succeeded, authz on object failed. Lab-only demos.

5. What you record before the next lesson

BOLA sentence + lab port 8815.

6. Wrong vs right: stranger APIs vs literacy on systems you own

Worked failure — same API word, opposite target. Right never needs a live shop or classmate token.

  • Wrong: Enumerate order IDs on a live shop.
  • Right: Define BOLA. Next: ID swap demo on YOUR lab.
Hands-on Exercise

Mission: write BOLA definition

1) Write BOLA in one sentence. 2) Write fix language. 3) Confirm stranger APIs out of scope.

Pro Tip

Stuck? Ask Cyberlium AI Mentor

Ask Mentor: “BOLA vs broken authentication?”

Practice QuizQuestion 1
Multiple choice
Q1

APPLY: BOLA is mainly:

Practice QuizQuestion 2
True or False
Q2

APPLY: True or False: UI filtering replaces server object checks.

Practice QuizQuestion 3
Multiple choice
Q3

APPLY: Practice IDs on:

←Previous: Quiz — OAuth and OIDC
Answer 3 practice quiz questions to unlock XP reward. (0/3 answered)
Skip quiz & read next →