Only in German available.
Published on: Nov. 3, 2022
Author: David Peyer
Das auflisten von Dateien (Directory listing) die auf dem Web Server gespeichert sind birgt grosse Sicherheitsrisiken. Informationen können so preisgegeben werden, welche nicht für die Öffentlichkeit bestimmt sind.
Besucht ein Benutzer eine Webseite zum Beispiel www.codepurple.ch verarbeitet der Webserver diese Anfrage und sendet als Resultat die Index Seite zurück. Die Index-Seite kann statisch sein oder dynamisch generiert werden. Besucht ein User aber eine URL, bei welcher sich keine Index Seite im Ordner befindet und ist das auflisten der Ordner nicht deaktiviert, liefert der Webserver als Resultat eine Auflistung aller Ordner und Dateien die sich in diesem Ordner befinden.
Viele Webentwickler gehen heute davon aus, dass wenn ein Angreifer die genaue URL nicht kennt, wird er die geheimen Daten auch nicht finden. Dieses Prinzip nennt man auch "security through obscurity" (Sicherheit durch Verschleierung). Dieses Prinzip ist gleichzusetzen mit "no security" (Keine Sicherheit). Es gibt heute genügend Tools die innerhalb kürzester Zeit Zehntausende von Adressen durchprobieren und so die "geheimen" Ordner finden.
Angreifer finden die geheimen URLs auch mit Hilfe verschiedenen Dienstleistern im Internet. Zum Beispiel über den Google-Cache oder die Wayback Machine können historische URLs gefunden werden.
Directory listings sind oft nicht auf der Hauptdomain zu finden. Wir finden diese meistens in Unterordnern oder auf Subdomains wie zum Beispiel auf daten.<comany>.com. So haben wir schon Datenbank-Dumps, Kundenlisten, Server-Backups uns sogar laufende Kundenaufträge gefunden.
Als Beispiel www.codepurple.ch/admin:
Ein Besucher ruft folgende Seite www.codepurple.ch/admin auf seinem Browser auf. Wie auf folgendem Screenshot zu sehen ist zeigt die Antwort, dass es ein Ordner mit dem Namen Backup im Ordner admin hat.
Klickt man auf Backup wird folgender Inhalt geladen.
Auf diesem Bild sehen wir eine PHP-Datei ein Logfile des FTP-Servers ein Backup der SQL-Datenbank sowie alte Passwörter gespeichert in einer Text-Datei. Dies sind Informationen die ein Angreifer sehr gerne findet und im Verlauf eines Angriffes auf die Firma gut nutzen kann.
Auch wenn der Server korrekt konfiguriert wurde kann es sein, dass mittels Exploit Daten auf dem Webserver aufgerufen werden können. Als Beispiel gab es eine Apache Tomcat Webserver Versionen die sich mit Null Bytes (%00) und dem Backslash (\) nicht korrekt verhielten und so Ordnerinhalte ungewollt preisgaben.
Damit die Ordner nicht mehr öffentlich sind, muss man die Konfiguration des Webservers ändern. Hier die nötigen Anpassungen für die zwei beliebtesten Webserver Apache und nginx.
In der Datei httpd.conf muss folgendes hinzugefügt werden:
<Directory /your/website/directory>Options -Indexes</Directory>
Zusätzlich ist es wichtig die .htaccess Datei anzupassen um auch hier das Auflisten zu deaktivieren. Wichtig ist es das Auflisten für alle Ordner zu deaktivieren nicht nur für spezifische. Danach muss der Serverprozess neu gestartet werden.
Standardmässig ist bei nginx das Auflisten der Ordner deaktiviert. Wurde es in der Vergangenheit aktiviert muss, man die Datei nginx.conf anpassen und "autoindex on" auf "autoindex off" ändern. Danach muss der Serverprozess neu gestartet werden.
Gibt es bei Ihnen Directory-Listings auf den Systemen? Wir finden es heraus.
Folgende Blog-Beiträge könnten Sie interessieren:
A password with 8 characters with numbers, upper and lower case letters and symbols can be cracked in under one hour.
Source: Hive Systems
X
Gibt es bei Ihnen Directory-Listings auf den Systemen? Wir finden es heraus.
Contact us without obligation:
Kathrin Müller is looking forward to hearing from you and will be happy to organize a meeting according to your needs.
nanio GmbH (Codepurple)
Moosweg 24
5606 Dintikon