Erzwungenes Surfen
Eine nicht verlinkte URL ist keine Berechtigungsprüfung.
Was ist Erzwungenes Surfen?
Eine Route existiert, nichts in der Benutzeroberfläche ist mit ihr verknüpft und sie antwortet jedem, der den Pfad errät. Die Geheimhaltung von Ordnernamen ist keine Zugriffskontrolle. Ohne Konto führen Sie eine Content-Discovery-Wortliste für eine Personenplattform durch und finden eine interne Exportroute, die mit 200 OK mit dem vollständigen Mitarbeiterverzeichnis antwortet, ohne dass Cookies oder API-Schlüssel erforderlich sind. Dann fügen Sie das Gate hinzu, das es nie gab, führen eine Sitzungs- und Rollenprüfung durch, bevor eine einzelne Zeile gelesen wird, und geben die Anfrage an einen 403-Fehler weiter.
Was Sie lernen in Erzwungenes Surfen
- Forced Browsing von Rechteausweitung unterscheiden: Erstere setzt keine Sitzung voraus, Letztere die falsche Sitzung
- Erkennen, dass ein Pfadsegment wie <code>/internal/</code> oder <code>/admin/</code> Konvention, keine Zugriffskontrolle ist; der Handler ist die Sperre
- Verstehen, dass Tools zur Inhaltserkennung (ffuf, dirbuster, gobuster) Pfadgeheimhaltung in Minuten wertlos machen
- Eine Sitzungs- und Rollenprüfung an den Anfang jedes Handlers setzen, der sensible Daten liest oder schreibt
- Die Codebasis auf verwaiste Routen prüfen, die für ein Tool ausgeliefert, später ersetzt und nie gelöscht wurden
Erzwungenes Surfen — Trainingsschritte
-
Das Ziel auskundschaften
Bob ist ein finanziell motivierter Angreifer. Er findet Unternehmen, die etwas im öffentlichen Internet offengelassen haben, und verkauft die erlangten Daten oder nutzt sie, um an ihr Geld zu gelangen. Heute nimmt er Kelvara ins Visier, eine People-Plattform, über die Unternehmen Lohnbuchhaltung und HR abwickeln. Er beginnt wie jeder auf der öffentlichen Website und erkundet das Unternehmen, bevor er nach einem Einstieg sucht.
-
Die API-Struktur erfassen
Auf der öffentlichen Website ist nichts ungewöhnlich: Anmeldung, Produkt-Tour, Support-Seite. Eine Anwendung beantwortet aber weit mehr Pfade, als sie verlinkt. Alles, was ein Entwickler erreichbar gelassen hat, bleibt für jeden erreichbar, der danach sucht. Bob erfasst daher jeden Pfad, auf den die API des Portals tatsächlich antwortet.
-
Die Exportroute öffnen
Der eine Pfad, der ohne Prüfung antwortete, ist eine URL wie jede andere. Bob braucht dafür kein Tool: Er gibt den gefundenen Pfad direkt im Browser ein und drückt Eingabe, wie beim Öffnen jeder Seite.
-
Das gesamte Verzeichnis ohne Anmeldung
Die Antwort ist keine Fehlerseite. Der Browser rendert sie direkt: Kelvaras gesamtes Mitarbeiterverzeichnis mit Tausenden Datensätzen, ausgegeben an eine Anfrage ohne Anmeldung.
-
Wissenscheck
Sie haben gesehen, wie eine geratene URL sensible Daten an eine Anfrage ohne Zugangsdaten zurückgab. Prägen Sie sich ein, warum der Endpunkt erreichbar war.
-
Der DLP-Alarm trifft ein
Sie verantworten Kelvaras People Portal. Über Nacht hat das Monitoring für ausgehenden Datenabfluss bei einer Antwort ausgelöst, die das vollständige Mitarbeiterverzeichnis einschließlich SSNs und Gehältern aus dem Netzwerk transportierte. Security Operations hat Ihnen die Details per E-Mail geschickt.
-
Den Export-Handler öffnen
Der Handler, der den Mitarbeiterexport erstellt, muss geändert werden. Öffnen Sie ihn und prüfen Sie, was zwischen Eingang der Anfrage und Ausgabe der Daten geschieht.
-
Die fehlende Sperre finden
Der Handler liest jeden Mitarbeiterdatensatz und gibt ihn zurück. Lesen Sie ihn von oben nach unten und suchen Sie nach der Zugriffskontrolle. Zwischen Anfrage und Abfrage liegt nichts.
-
Wissenscheck
Sie haben gesehen, wie der Handler direkt von der Anfrage zu den Daten läuft. Prägen Sie sich ein, was eine solche Route tatsächlich privat hält.
-
Die Zugriffskontrolle ergänzen
Setzen Sie eine echte Zugriffskontrolle an den Anfang des Handlers. Sie ermittelt die Sitzung des Aufrufers, prüft die Rolle hr_admin und lehnt alles andere ab, bevor die Datenbankabfrage läuft. Der Pfad bleibt gleich; nun schützt die Prüfung statt des Ordnernamens die Daten.
Abdeckung der Sicherheits-Frameworks
OWASP Top 10
- A01:2025 Broken Access Control
- A01:2021 Broken Access Control
CWE
- CWE-425 Direct Request ('Forced Browsing')
- CWE-862 Missing Authorization
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security