Path Traversal
Was ist Path Traversal?
Path Traversal (auch Directory Traversal) bezeichnet eine Web-Sicherheitsschwachstelle, bei der Angreifer durch Manipulation von Pfadangaben Zugriff auf Dateien außerhalb des vorgesehenen Verzeichnisses erhalten. Durch das Einfügen spezieller Sequenzen wie ../
in URL- oder Parameterpfade gelingt es, Verzeichnisebenen zu verlassen und sensible Dateien wie /etc/passwd
, Konfigurationsdateien oder Zugangstoken zu lesen – auch wenn diese nicht öffentlich zugänglich sein sollten.
Aufbau & Methoden
Zentrale Merkmale und Techniken eines Path-Traversal-Angriffs:
-
Angriffsvektor: Manipulation von URL- oder Formularparametern (z. B.
GET /load?file=../../../../etc/passwd
) -
Ursache: Fehlende oder fehlerhafte Pfad-Validierung (z. B. keine Normalisierung, unzureichende Filterung)
-
Typische Ziele:
-
Betriebssystemdateien
-
Zugangsdaten / Konfig-Dateien
-
Webserver-Logs (für Log Injection / Log Poisoning)
-
-
Erweiterungsszenarien:
-
Sensitive Data Exposure
-
Remote Code Execution (bei zusätzlicher Ausnutzung von LFI oder Log Injection)
-
Gängige Tools zur Identifikation:
-
Burp Suite, OWASP ZAP, Nikto, DirBuster
Einsatz in der Praxis
Path Traversal tritt häufig auf bei:
-
Webanwendungen mit Download-Funktionen
-
CMS-Plugins mit dynamischem Datei-Loading
-
Servern, die Benutzereingaben direkt als Dateipfade verwenden
Maßnahmen zur Erkennung und Vermeidung:
-
Penetrationstest mit Traversal-Signaturen in URL-Parametern
-
Web Application Firewall (WAF) mit spezifischen Traversal-Filterregeln
-
Pfadnormalisierung & Whitelisting auf Server-Seite
-
Sandbox-Umgebungen mit Zugriffsbeschränkungen
Standardbezug
-
OWASP Top 10 – A01:2021 – Broken Access Control
-
BSI IT-Grundschutz – OPS.1.1.1.A14: Prüfung auf unsichere Webentwicklungen
-
ISO 27001 – A.14.2.1: Sichere Entwicklung und Programmierung
Verwandte Begriffe
-
Web Application Firewall
-
Sensitive Data Exposure
-
Penetrationstest
-
Vulnerability Assessment
Beispiel aus der Praxis
Bei einem Penetrationstest entdeckte ein Sicherheitsteam ein Webformular mit einem
?file=
-Parameter, der Benutzer-Uploads anzeigen sollte.
Durch Eingabe von../../../../etc/passwd
konnte der Serverinhalt ausgelesen werden.
Weitere Tests zeigten, dass durch Log Poisoning später sogar Remote Code Execution möglich war.
Die Anwendung wurde durch WAF-Regeln und gezielte Pfad-Validierung abgesichert.