Grundlagen der Informationssicherheit
Eine Webanwendung liest und zeigt eine Datei an, indem sie einen über einen URL-Parameter angegebenen Dateinamen an den Namen ihres öffentlichen Ordners anhängt. Wird als Dateiname ein Wert mit ../ angegeben, lassen sich Konfigurationsdateien und andere Dateien außerhalb des öffentlichen Ordners lesen. Welche Kombination aus Name des Angriffs und Gegenmaßnahme ist richtig?
- ACross-Site-Scripting. Bei der Ausgabe < und > maskieren
- BDirectory Traversal. Dateinamen verlängern, damit sie schwerer zu erraten sind
- CDirectory Traversal. Die Anwendung so entwerfen, dass Dateinamen nicht direkt von außen angegeben werden können, oder den Pfad normalisieren und prüfen, ob er im öffentlichen Ordner liegt
Antwort und Erläuterung anzeigen
Antwort: C. Directory Traversal. Die Anwendung so entwerfen, dass Dateinamen nicht direkt von außen angegeben werden können, oder den Pfad normalisieren und prüfen, ob er im öffentlichen Ordner liegt
Directory Traversal (Path Traversal) ist ein Angriff, der Symbole für „ein Verzeichnis nach oben“ wie ../ nutzt, um Dateien außerhalb des von der Anwendung vorgesehenen Ordners zu lesen oder zu überschreiben. Ursache ist, dass ein von außen erhaltener Wert direkt als Dateipfad verwendet wird. Die erste Gegenmaßnahme ist ein Entwurf, bei dem Dateinamen nicht direkt von außen angegeben werden und der Server die Datei anhand einer festen Nummer oder ID auswählt. Müssen externe Werte verwendet werden, wird der Pfad normalisiert (../ u. Ä. aufgelöst) und geprüft, ob das Ergebnis im erlaubten Ordner liegt. Zusätzlich hält es den Schaden im Ernstfall klein, die Rechte des Kontos, unter dem die Anwendung läuft, zu minimieren und so die lesbaren Dateien zu begrenzen. Längere Dateinamen ändern nichts daran, dass man mit ../ den Ordner verlassen kann.
Weiter: 9 weitere Fragen zu Grundlagen der Informationssicherheit