# IDOR / BOLA

> IDOR (Insecure Direct Object Reference) und BOLA (Broken Object Level Authorization) beschreiben dieselbe Schwachstelle: Eine Anwendung nimmt eine Kennung wie /invoices/1042 entgegen und liefert oder ändert das Objekt, ohne zu prüfen, ob der Aufrufer darauf zugreifen darf. BOLA ist der Name aus der OWASP API Security Top 10, IDOR der ältere Web-Begriff. Es ist das häufigste ernste Finding in API-Penetrationstests und für Scanner unsichtbar, weil jeder Request legitim aussieht.

IDOR und BOLA (Broken Object Level Authorization) sind derselbe Fehler: Eine API liefert Objekte, ohne die Berechtigung des Aufrufers zu prüfen. Finden und beheben.

Source: https://zyberum.com/de/glossar/idor-bola · Updated: 2026-10-07

## Was ist IDOR / BOLA?

IDOR und BOLA benennen einen Fehler: Die Anwendung lässt einen Nutzer ein Objekt direkt referenzieren, über eine ID in der URL, im Request-Body oder in einem Token, und prüft nicht, ob dieser Nutzer auf dieses Objekt zugreifen darf. Ändere `GET /api/orders/1042` zu `/api/orders/1043`, und du liest die Bestellung von jemand anderem. Ändere die `userId` im PUT-Body, und du bearbeitest ein fremdes Profil. Insecure Direct Object Reference ist der Begriff aus den OWASP Top 10 von 2007 und 2013; Broken Object Level Authorization ist der Name, den die OWASP API Security Top 10 ihm 2019 gab und als API1:2023 beibehielt, das API-Risiko Nummer eins.

Die zugrunde liegende Schwäche ist CWE-639, Authorization Bypass Through User-Controlled Key. Der Bug ist nicht, dass die ID sichtbar oder vorhersagbar ist; der Bug ist, dass der Server der ID vertraut, statt den Besitz zu prüfen.

## Wo ist es definiert?

Die OWASP API Security Top 10, API1:2023 Broken Object Level Authorization, liefert Definition, Beispiele und Gegenmaßnahmen. Die OWASP Top 10 von 2021 ordnet den Fehler A01 Broken Access Control zu. Der OWASP Web Security Testing Guide beschreibt das Testverfahren unter WSTG-ATHZ-04, Testing for Insecure Direct Object References. CWE-639 von MITRE und die breitere CWE-284 (Improper Access Control) sind das, worauf SAST-Tools und Scanner verweisen. Ein naher Verwandter, API3:2023 Broken Object Property Level Authorization, deckt den Fall ab, dass das Objekt dir gehört, der Server dich aber Felder lesen oder schreiben lässt, die er nicht freigeben dürfte (Mass Assignment, Excessive Data Exposure).

## Was es in der Praxis bedeutet

BOLA ist das Finding, das wir in Web-, API- und Mobile-Backend-Tests am häufigsten berichten, und es ist fast immer High oder Critical. Muster aus Projekten:

- **Fortlaufende IDs machen es schlimmer, nicht erst möglich.** Der Wechsel auf UUIDs begrenzt das Durchzählen, repariert aber die Autorisierungsprüfung nicht. Ein Angreifer, der eine UUID bekommt (aus einem geteilten Link, einem Log, einem zweiten Konto), kommt weiterhin hinein.
- **Mobile- und IoT-Backends sind am stärksten betroffen.** Die App zeigt nur deine Geräte, also nehmen Entwickler an, die API tue das auch. In Tests von Cloud-APIs für Haushaltsgeräte haben wir wiederholt gesehen, dass das Ändern der Geräteseriennummer oder -ID im Request Lese- oder Steuerzugriff auf das Gerät eines anderen Haushalts gab. Das Muster wiederholt sich bei Saugrobotern, Bewässerungssteuerungen und Ladegeräten.
- **Mehrstufige Abläufe verstecken es.** Der Listen-Endpunkt filtert korrekt; der Detail- oder Export-Endpunkt nicht. Jeder Endpunkt, der eine ID entgegennimmt, braucht seine eigene Prüfung.
- **Scanner können es nicht finden.** Jeder Request ist gültiges HTTP mit gültiger Session. BOLA zu finden braucht zwei Konten, jeden Endpunkt und einen Tester, der IDs systematisch tauscht. Autorisierungstests sind deshalb fester Teil unseres API-Testplans.

Der Fix ist eine serverseitige Autorisierungsprüfung bei jedem Objektzugriff, einmal zentral umgesetzt (eine Policy-Funktion oder ein ORM-Scope, der immer nach Mandant und Besitzer filtert) statt pro Endpunkt, plus automatisierte Tests, die sicherstellen, dass Nutzer A die Objekte von Nutzer B nicht lesen kann.

## Häufige Missverständnisse

IDOR ist keine Offenlegung von IDs; eine ID zu zeigen ist in Ordnung, wenn der Server den Zugriff prüft. Der Fehler wird nicht durch Authentifizierung behoben; der Angreifer ist angemeldet. Und er ist kein Problem der Eingabevalidierung: Die ID ist völlig gültig, sie gehört nur jemand anderem.

## FAQ

**Behebt der Wechsel auf UUIDs eine IDOR?**

Nein. UUIDs erschweren das Durchzählen von Objekten, aber jede ID, die über einen geteilten Link, eine Logdatei, ein Support-Ticket oder ein zweites Konto bekannt wird, funktioniert weiterhin. Der Fix ist eine Autorisierungsprüfung auf dem Server bei jedem Objektzugriff. UUIDs sind eine sinnvolle Ergänzung, kein Ersatz.

**Warum finden Schwachstellenscanner keine BOLA?**

Weil jeder Request gültig ist: Ein angemeldeter Nutzer fragt ein Objekt an, und der Server antwortet. Ein Scanner kann nicht wissen, dass das Objekt jemand anderem gehört. BOLA zu finden braucht zwei Konten, eine Liste aller Endpunkte, die eine ID entgegennehmen, und einen Tester, der die IDs systematisch tauscht.

**Wie schwer wiegt ein IDOR-Finding?**

Meist High oder Critical. Lesezugriff auf Daten anderer Kunden ist eine Datenpanne mit Meldepflichten nach DSGVO; Schreibzugriff lässt einen Angreifer Bestellungen, Preise oder Geräteeinstellungen ändern. In IoT-Backends bedeutet eine BOLA auf der Geräte-ID oft Kontrolle über die Geräte anderer Haushalte.

## Sources

- [OWASP API Security Top 10 2023: API1 Broken Object Level Authorization](https://owasp.org/API-Security/editions/2023/en/0xa1-broken-object-level-authorization/)
- [OWASP Top 10:2021 A01 Broken Access Control](https://owasp.org/Top10/A01_2021-Broken_Access_Control/)
- [OWASP WSTG: Testing for Insecure Direct Object References (WSTG-ATHZ-04)](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/05-Authorization_Testing/04-Testing_for_Insecure_Direct_Object_References)
- [MITRE CWE-639: Authorization Bypass Through User-Controlled Key](https://cwe.mitre.org/data/definitions/639.html)

## Related

- [OWASP Top 10](https://zyberum.com/de/glossar/owasp-top-10)
- [Penetrationstest](https://zyberum.com/de/glossar/penetrationstest)
- [Manueller vs. automatisierter Pentest: Was Tools finden und was Menschen](https://zyberum.com/de/vergleich/manueller-vs-automatisierter-pentest)
- [OWASP API Security Top 10 erklärt: So sehen die Risiken aus](https://zyberum.com/de/insights/owasp-api-top-10-erklaert)
- [Deine Web-App hat ein Login. Wir prüfen, was dahinter liegt.](https://zyberum.com/de/web-pentest)
- [Deine App landet auf dem Handy jedes Angreifers. Wir öffnen sie zuerst.](https://zyberum.com/de/mobile-app-pentest)

---
Zyberum GmbH. Canonical page: https://zyberum.com/de/glossar/idor-bola
