Sicherheitsrisiko mod_speling

December 30th, 2007 ron Posted in Sicherheit No Comments »

Das Apache Modul “mod_speling” soll, wie der absichtlich falsch geschriebene Name vielleicht bereits vermuten lässt, “Vertipper” bei der Eingabe einer URL automatisch korrigieren.
Das Modul korriert jeweils nur einen Fehler, entweder berichtigt es die Reihenfolge zweier, versehentlich vertauschter Buchstaben, oder berichtigt maximal einen falschen Buchstaben in der URL.

Wenn ein Fehler erfolgreich korrigiert werden konnte, dann leitet mod_speling den User von diesem unbemerkt auf die richtige Seite. Wenn jedoch mehrere Möglichkeiten zur Berichtigung gegeben sind, dann wird dem User eine Liste mit möglichen URLs angezeigt.

Und genau hier liegt das Problem, unter Umständen werden hierbei URLs angezeigt, die man gar nicht so gern veröffentlicht sehen will, wie zum Beispiel bestimmte Verzeichnisse, in die der User gar nich wechseln können soll.

Natürlich sollte man solche Ordner und Dateien erst gar nicht im öffentlichen Bereich des Webservers ablegen, aber manchmal lässt sich das vielleicht nicht vermeiden.

Angreifer können nun versuchen durch bewussetes Ausprobieren den Webserver dazu zu bringen solche Link-Listen zu generieren und anzuzeigen.
Daher sollte man aus sicherheitstechnischer Sicht auf den Einsatz von mod_speling verzichten. Wer keinen Einfluss auf die geladenen Module des Apache-Webservers hat, der kann mit der Zeile

CheckSpelling off

in der .htaccess das Ausführen des Moduls für das jeweilige Verzeichnis unterbinden.

AddThis Social Bookmark Button

Angriffspunkte durch unachtsamen Umgang mit Dateien

December 16th, 2007 ron Posted in Sicherheit No Comments »

Ist ein Webprojekt erstmal lauffähig und kann auf den Webserver hochgleaden werden, sollte man zuvor alle Verzeichnisse nach Datei-Altlasten durchforsten. Oft werden Datei-Leichen übersehen, die nicht benötigt werden, auf dem Webserver aber unter Umständen einem Angreifer die Möglichkeit geben, das Projekt oder den Server zu kompromittieren. Dies gilt vor allem, wenn die Dateien Endungen haben, die der Server nicht interpretieren kann und ihren Inhalt daher als Klartext einfach an den Browser sendet.

Ein ganz großer Fauxpas ist auch das Zurücklassen von Dateien, die die Funktion phpinfo() ausführen. Findet ein Angreifer diese, hat er alle Informationen über das System, die er braucht, um es unter seine Kontrolle zu bringen oder zu beschädigen.  Sinnigerweise werden solche Dateien oft mit Namen wie phpinfo.php oder php_info.php usw. angelegt, was die Suche natürlich stark vereinfacht.

Bis zur Version 5.2.0 von PHP konnte man die Ausgabe dieser Dateien leicht in Suchmaschinen finden. Ein Angreifer musste sich unter Umständen also gar nicht selbst auf dem Zielserver auf die Suche begeben, sondern nur nach gewissen Stichwörtern bei einer beliebigen Suchmaschine suchen. Seit PHP 5.2.1 erzeugt phpinfo() einen HTML-Header, der Suchmaschinen anweist, den Inhalt der HTML-Ausgabe nicht zu durchsuchen. Dies entbindet den Entwickler jedoch nicht von der Pflicht, den Zugriff auf solche Dateien zu unterbinden sondern kann allenfalls als Nothilfe bei Unachtsamkeit betrachtet werden.

Eine Weitere Quelle für Angriffspunkte stellen die Temporären Dateien dar, die zum Beispiel von vielen Editoren oder IDEs während der Arbeit angelegt werden. Auch diese haben oft Endungen, die der Webserver nicht verarbeitet und offenbaren so unter Umständen den Quellcode der Anwendung oder sogar die Verbindungsparameter zur Datenbank und ähnlich sensible Informationen.

Außerdem können die Dateien Aufschluss über die auf dem Server installierte Software geben und somit wiederum die Ausnutzung hier bekannter Schwachstellen ermöglichen.

Dabei ist es unerheblich, unter welchem Betriebssystem man seine Software entwickelt, sowohl Windows- als auch Linux-Programme legen oft ungefragt temporäre Dateien in die Projektordner und nicht in die eigentlich dafür vorgesehen Temp-Verzeichnisse. Sicherheitshalber sollte man also das Schreiben solcher Sicherungskopien unterbinden, was sich meist in den Einstellungen oder durch Parameter beim Aufruf festlegen lässt.

AddThis Social Bookmark Button




Amazon Bookshop