OWASP API Security Top 10: Die kritischsten Risiken für Ihre APIs
APIs sind das Rückgrat moderner Anwendungen — und damit ein bevorzugtes Angriffsziel. Die OWASP API Security Top 10 identifiziert die häufigsten und gefährlichsten Schwachstellen in APIs. Dieser Leitfaden erklärt jede Schwachstelle mit Praxisbeispielen und zeigt konkrete Gegenmaßnahmen.
API1:2023 — Broken Object Level Authorization (BOLA)
Das Problem
Die häufigste API-Schwachstelle: Ein Benutzer kann auf Objekte anderer Benutzer zugreifen, indem er einfach die ID in der URL ändert.
Beispiel
GET /api/users/123/orders ← Eigene Bestellungen (erlaubt)
GET /api/users/456/orders ← Fremde Bestellungen (sollte verboten sein)
Schutzmaßnahmen
- Autorisierungsprüfung bei jedem einzelnen Objektzugriff
- Nie nur auf Client-seitige IDs vertrauen
- Eigene User-ID aus dem Token/Session ableiten, nicht aus der URL
API2:2023 — Broken Authentication
Das Problem
Schwachstellen in der Authentifizierung: Schwache Tokens, fehlende Rate-Limits bei Login, Token-Leaking.
Typische Schwachstellen
| Schwachstelle | Risiko | |---|---| | Kein Rate-Limiting bei Login | Brute-Force-Angriff auf Passwörter | | Token in URL-Parametern | Token in Logs und Referrer-Headern sichtbar | | Lange Token-Gültigkeit ohne Refresh | Gestohlener Token langfristig nutzbar | | Keine Validierung der Token-Signatur | Token-Fälschung möglich |
Schutzmaßnahmen
- Rate-Limiting bei Login und Token-Erneuerung
- Tokens nur in HTTP-Headers oder HttpOnly Cookies
- Kurze Token-Gültigkeit + Refresh-Token-Mechanismus
- MFA für kritische Operationen
API3:2023 — Broken Object Property Level Authorization
Das Problem
Die API gibt mehr Daten zurück als nötig oder erlaubt die Änderung geschützter Felder.
Beispiel
// GET /api/users/me — Gibt zurück:
{
"name": "Max",
"email": "[email protected]",
"role": "user", // ← Sollte nicht sichtbar sein
"internalScore": 850 // ← Internes Feld exponiert
}
// PUT /api/users/me — Angreifer sendet:
{ "role": "admin" } // ← Mass Assignment
Schutzmaßnahmen
- Explizite Serialisierung — Nur freigegebene Felder zurückgeben
- Allowlist für aktualisierbare Felder (nie Blocklist)
- Schema-Validierung für alle Eingaben (Zod, JSON Schema)
API4:2023 — Unrestricted Resource Consumption
Das Problem
APIs ohne Limits für Anfragen, Datenmengen oder Rechenzeit.
Risiken
- DoS-Angriffe durch Massenanfragen
- Kostenlawine bei Cloud-APIs (z.B. KI-Aufrufe ohne Limit)
- Datenbanküberlastung durch ungebremste Queries
Schutzmaßnahmen
- Rate Limiting pro Benutzer und IP
- Pagination mit maximaler Seitengröße
- Request-Size-Limits für Upload und Body
- Timeout für langlaufende Operationen
- Kostenüberwachung bei externen API-Diensten
API5:2023 — Broken Function Level Authorization
Das Problem
Benutzer können administrative Funktionen aufrufen, weil die Autorisierung auf Funktionsebene fehlt.
Beispiel
POST /api/users ← Normaler Benutzer darf keinen User anlegen
DELETE /api/users/456 ← Nur Admin darf User löschen
GET /api/admin/reports ← Admin-Endpunkt erreichbar ohne Prüfung
Schutzmaßnahmen
- Rollenbasierte Zugriffskontrolle (RBAC) auf jedem Endpunkt
- Admin-Endpunkte separat absichern (eigener Router/Middleware)
- Deny by Default — Alles verbieten, explizit erlauben
API6:2023 — Unrestricted Access to Sensitive Business Flows
Das Problem
Automatisierter Missbrauch von Geschäftsprozessen: Bots kaufen Tickets auf, erstellen Fake-Accounts, scrapen Inhalte.
Schutzmaßnahmen
- CAPTCHA bei kritischen Flows (Registrierung, Kauf)
- Gerätefingerprinting zur Bot-Erkennung
- Business-Logic-Limits (max. 5 Käufe pro Stunde)
- Verhaltensanalyse (ungewöhnliche Muster erkennen)
API7:2023 — Server-Side Request Forgery (SSRF)
Das Problem
Die API ruft externe URLs auf Basis von Benutzereingaben ab — ein Angreifer kann interne Dienste erreichen.
Beispiel
POST /api/preview
{ "url": "http://169.254.169.254/meta-data/" } ← Cloud-Metadaten
Schutzmaßnahmen
- URL-Validierung mit Allowlist für erlaubte Domains
- Interne Netzwerke und Metadata-Endpunkte blockieren
- DNS-Rebinding verhindern
- Ausgehende Verbindungen über Proxy leiten
API8:2023 — Security Misconfiguration
Das Problem
Fehlkonfiguration: Standard-Credentials, unnötige HTTP-Methoden, fehlende Security-Header, detaillierte Fehlermeldungen.
Häufige Fehlkonfigurationen
| Problem | Lösung |
|---|---|
| CORS erlaubt * | Nur erlaubte Origins |
| Debug-Modus in Produktion | Explizit deaktivieren |
| Standard-API-Keys nicht geändert | Individuelle Keys generieren |
| Unnötige HTTP-Methoden aktiv | Nur benötigte Methoden erlauben |
| Fehlende Security-Header | HSTS, CSP, X-Content-Type-Options |
API9:2023 — Improper Inventory Management
Das Problem
Vergessene API-Versionen, undokumentierte Endpunkte, Test-APIs in Produktion.
Schutzmaßnahmen
- API-Inventar pflegen (alle Versionen, alle Umgebungen)
- Automatische API-Discovery einsetzen
- Alte API-Versionen aktiv stilllegen (Sunset-Header)
- OpenAPI-Spezifikation als Single Source of Truth
API10:2023 — Unsafe Consumption of APIs
Das Problem
Ihre API vertraut blind Daten von Drittanbieter-APIs — ohne Validierung.
Beispiel
Ihre API ruft einen externen Dienst auf und gibt dessen Antwort an den Benutzer weiter — inklusive möglicherweise schädlicher Inhalte.
Schutzmaßnahmen
- Validierung aller Antworten von Drittanbieter-APIs
- Timeout und Fehlerbehandlung für externe Aufrufe
- Minimale Berechtigungen bei API-Keys für Drittdienste
- Monitoring von Drittanbieter-APIs auf unerwartetes Verhalten
Zusammenfassung: Die 5 wichtigsten Sofortmaßnahmen
| Priorität | Maßnahme | Deckt ab | |---|---|---| | 1 | Autorisierung auf Objektebene bei jedem Endpunkt | API1, API3, API5 | | 2 | Rate Limiting und Pagination implementieren | API2, API4, API6 | | 3 | Input-Validierung mit Schema (Zod, JSON Schema) | API3, API8, API10 | | 4 | Security-Header und CORS korrekt konfigurieren | API7, API8 | | 5 | API-Inventar erstellen und pflegen | API9 |
API-Sicherheit testen
| Tool | Typ | Kosten | |---|---|---| | OWASP ZAP | Dynamischer Scanner | Kostenlos | | Burp Suite | Proxy & Scanner | Community: kostenlos | | Postman | API-Testing mit Security-Checks | Freemium | | Nuclei | Template-basierter Scanner | Kostenlos |
Fazit
API-Sicherheit ist kein optionales Feature, sondern eine Grundvoraussetzung. Die OWASP API Security Top 10 bietet einen strukturierten Rahmen, um die häufigsten Schwachstellen systematisch zu adressieren. Beginnen Sie mit Autorisierung und Rate Limiting — diese beiden Maßnahmen decken bereits die Hälfte der Top-10-Risiken ab.
Scannen Sie Ihre Website kostenlos mit WarDek — OWASP, NIS2, DSGVO, AI Act Compliance in einem Scan.