Sicherheit

Lokale Dateien über Pfad-Parameter auslesbar (LFI)

Üblicher Schweregrad: hoch · Aufwand: mittel

Woran du es erkennst

Ein Dateipfad-Parameter akzeptiert Traversal-Sequenzen (../, %2e%2e): Dateien außerhalb des vorgesehenen Verzeichnisses — Konfiguration, Systemdateien, Quelltext — werden ausgeliefert.

Warum es zählt

Lokale Datei-Inklusion legt Geheimnisse, Konfiguration und Quelltext offen — oft der erste Schritt zur vollen Übernahme, wenn etwa Zugangsdaten oder Deployment-Schlüssel mitgelesen werden.

So behebst du es

  1. Pfade nie aus Nutzereingaben zusammensetzen; Eingaben auf eine Allowlist erlaubter Dateinamen oder IDs abbilden und den aufgelösten Pfad gegen das erlaubte Basisverzeichnis prüfen.
  2. Dem Prozess nur die nötigsten Leserechte geben (eigener Nutzer, Container/chroot), damit ein Ausbruch aus dem Basisverzeichnis ins Leere läuft.

Zum Nachlesen