woodfighter: Traversal-Lücke?

Beitrag lesen

problematische Seite

Tach,

nein, aber durch diesen:

while (substr_count('../', $path)) {
    $path = str_replace('../', '', $path);
}

bevor ich Gefahr laufen würde, durch einen Symlink, der auf ein anderes Verzeichnis zeigt oder durch Escaping (bin mir nicht sicher, ob nicht „../“ dafür schon wieder ausreicht), Character-Sequences o.ä., hier eine Sicherheitslücke einzubauen, würde ich immer mit dem mehrfach erwähnten realpath prüfen, ob ich am richtigen Ort bin; die Wahrscheinlichkeit, dass man alle denkbaren Fälle mit einer Blacklist abdeckt ist einfach nicht hoch genug. Hinzu kommt, dass ich nicht verstehe, warum ich an der Stelle versuchen sollte den Pfad überhaupt zu korrigieren, wenn hier eine solche Manipulation festgestellt wird, wäre es sinnvoller direkt mit einem HTTP 403 zu antworten.

mfg
Woodfighter