OWASP Top 10 – Teil 1: Broken Access Control

Was bedeutet „Broken Access Control“?

Stell dir vor, eine Website erlaubt dir, dein eigenes Profil zu bearbeiten. Eigentlich solltest du nur deine eigenen Daten ändern dürfen. Wenn die Zugriffskontrolle fehlerhaft ist, könntest du vielleicht auch die Daten anderer Nutzer einsehen oder sogar manipulieren – obwohl das nicht erlaubt sein sollte.

Access Control bedeutet also: Regeln, die festlegen, wer was in einem System darf.
„Broken Access Control“ heißt: Diese Regeln sind nicht sauber umgesetzt oder umgehbar.

Typische Beispiele aus der Praxis

  • Direkter Zugriff über URLs:
    https://shop.de/admin ist für alle aufrufbar, nicht nur für Admins.
  • Manipulation von IDs:
    Statt https://shop.de/user?id=123 rufe ich https://shop.de/user?id=124 auf und sehe fremde Daten.
  • Versteckte Funktionen:
    Buttons oder Menüpunkte werden im Frontend ausgeblendet, aber das Backend prüft nicht, ob der Nutzer die Funktion wirklich nutzen darf.
  • Role Escalation:
    Ein normaler Nutzer kann sich selbst Admin-Rechte geben, weil die Prüfung schwach ist.

Warum ist das so gefährlich?

  • Angreifer können sensible Daten stehlen (z. B. Kundendaten, Kreditkarteninformationen).
  • Sie können Aktionen ausführen, die ihnen nicht erlaubt sind (z. B. Bestellungen anderer Nutzer ändern).
  • Ein kompletter System- oder Datenbankzugriff ist oft nur noch ein kleiner Schritt entfernt.

Wie schützt man sich?

  1. Zugriffsregeln im Backend erzwingen
    – Verlass dich niemals nur auf die Benutzeroberfläche.
  2. Prinzip der geringsten Rechte (Least Privilege)
    – Jeder Nutzer sollte nur so viel dürfen, wie unbedingt nötig.
  3. Serverseitige Validierung
    – IDs, Rollen und Berechtigungen müssen immer serverseitig geprüft werden.
  4. Zentrale Access-Control-Logik nutzen
    – Nicht überall eigene Prüfungen einbauen, sondern ein einheitliches System verwenden.
  5. Regelmäßig testen
    – Mit Tools (z. B. Burp Suite) oder manuellen Tests überprüfen, ob unerlaubte Zugriffe möglich sind.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert