Aus dem Kurs: ASP.NET Security

So erhalten Sie Zugriff auf diesen Kurs

Werden Sie noch heute Mitglied und erhalten Sie Zugriff auf mehr als 24.700 Kurse von Branchenfachleuten.

Directory Traversal verhinden

Directory Traversal verhinden

Aus dem Kurs: ASP.NET Security

Directory Traversal verhinden

In meiner Anwendung habe ich die Möglichkeit, Rechnungen herunterzuladen; leider nicht nur Rechnungen, sondern wenn ich die Adresszeile geschickt genug manipuliere, dann kann ich zum Beispiel auch die Konfigurationsdatei des Webservers herunterladen über meine Anwendung. Ja, wie können wir das Ganze verhindern? Und was ist überhaupt passiert? Gucken wir dazu einmal in die Implementierung, die der Entwickler gewählt hat innerhalb von Visual Studio. Den Controller, um den es geht, den habe ich hier bereits geöffnet. Und hier sehen wir, dass wir zwei Methoden haben. Wir haben die Methode Index, die liest alle Rechnungen und übergibt diese anschließend an eine Ansicht. Und danach haben wir hier eine Methode Download, an die wir einen Dateinamen übergeben. Dieser Dateiname, der wird jetzt relativ naiv über Path.Combine zum aktuellen Datenpfad hinzugefügt. Da hier jetzt natürlich nicht darauf geachtet wird, ob ich einen relativen Pfadnamen übergebe, der dann kombiniert mit dem anderen…

Inhalt