Directory/Path Travelersal

Directory/Path Travelersal

Copyright ┬ę Shutterstock / Von kkssr

Was ist Directory/Path Traversal?

Beim Directory/Path Traversal (Pfaddurchlauf) verwendet die Software eine externe Eingabe, um einen Pfadnamen zu erstellen, mit dem eine Datei oder ein Verzeichnis identifiziert werden soll, der sich unter einem eingeschr├Ąnkten ├╝bergeordneten Verzeichnis befindet. Die Software neutralisiert jedoch keine speziellen Elemente innerhalb des Pfadnamens, die dazu f├╝hren k├Ânnen, dass der Pfadname an einen Speicherort aufgel├Âst wird, ist au├čerhalb des eingeschr├Ąnkten Verzeichnisses.

Beschreibung

Die ├äquivalenz des Pfadnamens kann als eine Art kanonisierter Fehler betrachtet werden. Einige Probleme mit der ├äquivalenz von Pfadnamen beziehen sich nicht direkt auf das Durchsuchen von Verzeichnissen, sondern werden verwendet, um sicherheitsrelevante ├ťberpr├╝fungen dahingehend zu umgehen, ob der Angreifer auf eine Datei/ein Verzeichnis zugreifen kann.┬áEine unvollst├Ąndige Diagnose oder Meldung von Schwachstellen kann es schwierig machen, zu wissen, welche Variante betroffen ist. Zum Beispiel k├Ânnte man sagen, dass “.. ” verwundbar ist, nicht aber “../”, der auch verwundbar sein k├Ânnte. Eine beliebige Kombination von Verzeichnistrennzeichen (“/”, “” usw.) und Nummern von “.” (z. B. “….”) k├Ânnen eindeutige Varianten erzeugen; die Variante “//../” wird beispielsweise nicht aufgelistet.

Viele Dateioperationen sollen innerhalb eines eingeschr├Ąnkten Verzeichnisses stattfinden. Durch die Verwendung spezieller Elemente wie “..” und “/” Trennzeichen k├Ânnen Angreifer au├čerhalb des eingeschr├Ąnkten Speicherorts auf Dateien oder Verzeichnisse zugreifen, die sich an anderer Stelle im System befinden. Eines der h├Ąufigsten Spezialelemente ist die Sequenz “../”, die in den meisten modernen Betriebssystemen als ├╝bergeordnetes Verzeichnis des aktuellen Speicherorts interpretiert wird. Dies wird als relativer Pfaddurchlauf bezeichnet. Das Durchlaufen von Pfaden umfasst auch die Verwendung absoluter Pfadnamen wie “/ usr / local / bin”, was auch beim Zugriff auf unerwartete Dateien hilfreich sein kann. Dies wird als absoluter Pfaddurchlauf bezeichnet.

In vielen Programmiersprachen kann der Angreifer durch die Injektion eines Null-Bytes (0 oder NUL) einen generierten Dateinamen abschneiden, um den Angriffsbereich zu erweitern. Beispielsweise kann die Software jedem Pfadnamen “.txt” hinzuf├╝gen, wodurch der Angreifer auf Textdateien beschr├Ąnkt wird. Durch eine Null-Injektion kann diese Einschr├Ąnkung jedoch effektiv beseitigt werden.

Pr├╝fung auf die Schwachstelle

Mit Scannern wird versucht auf Dateien und Verzeichnisse au├čerhalb des Webdokumentenstamms zuzugreifen, indem verschieden Kombinationen von Pfadnamen-Pr├Ąfixen und lokalen Dateizielen f├╝r Windows- und *NIX-Systeme sowie Java-Servlets erstellt werden. Wenn der Haupttext der Antwort mit einem Muster ├╝bereinstimmt, das der aktuellen Zieldatei entspricht, wird eine Warnung ausgegeben und der Scanner kehrt sofort zur├╝ck.

Wenn keines der gemeinsamen lokalen Daten-Ziele erfolgreich ist, wird der Pfaddurchlauf unter Verwendung des Dateinamens in der URL versucht. Solange das Senden eines beliebigen Dateinamens keinen OK-Status zur├╝ckgibt, aber der tats├Ąchliche Dateiname dies macht, wird eine Warnung ausgegeben und der Scanner kehrt sofort zur├╝ck.

Tipp

├ťberpr├╝fen Sie die Sicherheit Ihrer Website mit unserem kostenlosen Security Crawler oder mit der OSG Performance Suite Free Version.

L├Âsung

Phase: Architektur und Design

Stellen Sie f├╝r alle Sicherheitspr├╝fungen, die auf Clientseite ausgef├╝hrt werden, sicher, dass diese Pr├╝fungen auf der Serverseite doppelt vorhanden sind. Angreifer k├Ânnen die clientseitigen Pr├╝fungen umgehen, indem sie Werte ├Ąndern, nachdem die Pr├╝fungen ausgef├╝hrt wurden, oder indem der Client so ge├Ąndert wird, dass die clientseitigen Pr├╝fungen vollst├Ąndig entfernt werden. Diese ge├Ąnderten Werte werden dann an den Server ├╝bermittelt.

Phase: Implementierung

Stellen Sie sicher, dass die Fehlermeldungen nur minimale Details enthalten, die f├╝r die beabsichtigte Zielgruppe n├╝tzlich sind, und f├╝r niemanden anderen. Die Nachrichten m├╝ssen das Gleichgewicht zwischen zu kryptisch und nicht kryptisch genug finden. Sie sollten nicht unbedingt die Methoden offenlegen, mit denen der Fehler ermittelt wurde. Solche detaillierten Informationen k├Ânnen verwendet werden, um den urspr├╝nglichen Angriff zu verfeinern, um die Erfolgschancen zu erh├Âhen.

Wenn Fehler detailliert nachverfolgt werden m├╝ssen, erfassen Sie sie in Protokollnachrichten. Ber├╝cksichtigen Sie jedoch, was geschehen k├Ânnte, wenn die Protokollnachrichten von Angreifern angezeigt werden k├Ânnen. Vermeiden Sie:

  • hochsensible Informationen wie Passw├Ârter in irgendeiner Form aufzuzeichnen.
  • inkonsistente Nachrichten, bei denen ein Angreifer versehentlich ├╝ber den internen Status informiert wird, z.B. ob ein Benutzername g├╝ltig ist oder nicht.

Im Zusammenhang mit der Pfaddurchquerung k├Ânnen Fehlernachrichten, die Pfadinformationen offenlegen, Angreifern dabei helfen, die geeigneten Angriffszeichenfolgen zu erstellen, um sich durch die Dateisystemhierarchie zu bewegen.

Datenbanklink zur Schwachstelle

https://cwe.mitre.org/data/definitions/22.html


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte