BOLA Named
Broken Object Level Authorization — after login, still check the object. Lab :8815.
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/1002Primary 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.
Mission: write BOLA definition
1) Write BOLA in one sentence. 2) Write fix language. 3) Confirm stranger APIs out of scope.
Stuck? Ask Cyberlium AI Mentor
Ask Mentor: “BOLA vs broken authentication?”
APPLY: BOLA is mainly:
APPLY: True or False: UI filtering replaces server object checks.
APPLY: Practice IDs on:
IDOR as ID Swap
Part of API Security with AI — BOLA and IDOR.
Server-Side Ownership Checks
Part of API Security with AI — BOLA and IDOR.
BOLA Lab — Allow vs Deny
Part of API Security with AI — BOLA and IDOR.