Zuverlässigkeit eingebaut

Willkommen bei Geeklog
Mittwoch, 10. März 2010, 17:07 Uhr

Unerwünschte Datei-Uploads

Sicherheit

Ein User mit dem Namen t0pP8uZz hat demonstriert, dass sich der Dateiupload von FCKeditor auch direkt ausnutzen lässt. Somit kann man unter Umgehung von Geeklog und FCKeditor Dateien auf eine Website hochladen. Allerdings sind Uploads noch immer durch die Whitelist von FCKeditor beschränkt, so dass man z.B. keine PHP-Skripte hochladen kann. Trotzdem ist das natürlich nicht im Sinne des Erfinders und kann u.U. für andere Bösartigkeiten missbraucht werden.

Betroffen von dem Problem sind Geeklog 1.4.1 und 1.5.0 sowie evtl. auch andere Versionen, wenn man FCKeditor selbst aktualisiert hat.

Hier sind einige Lösungsansätze:

FCKeditor entfernen

Wenn man FCKeditor nich benutzt, kann man kurzerhand das ganze Verzeichnis fckeditor löschen. Hinweis: Es genügt nicht, den Erweiterten Editor in der Konfiguration zu deaktivieren.

Uploads deaktivieren

Wer FCKeditor noch benutzen will, aber auf die Upload-Möglichkeit verzichten kann, der kann diese deaktivieren:

  • für Geeklog 1.4.1 (FCKeditor 2.3.1): fckeditor/editor/filemanager/upload/php/config.php
  • für Geeklog 1.5.0 (FCKeditor 2.6): fckeditor/editor/filemanager/connectors/php/config.php

In diesen Dateien jeweils die Zeile

$Config['Enabled'] = true ;

so ändern, dass sie auf = false; endet.

Man sollte vorsichtshalber auf das Vorhandensein beider Dateien prüfen, für den Fall, dass man eine ältere Geeklog-Version aktualisiert und dabei die Dateien nur überschrieben hat. Da das Upload-Skript nun an einer anderen Stelle liegt, hat man evtl. zwei Kopien davon und muss beide deaktivieren.

Direkte Uploads verhindern

Die folgende Methode, die wir auch im nächsten Geeklog-Update verwenden werden, erlaubt es, den Datei-Upload weiterhin zu verwenden, verhindert aber den direkten Aufruf des Skripts:

  • für Geeklog 1.4.1 (FCKeditor 2.3.1): fckeditor/editor/filemanager/upload/php/upload.php
  • für Geeklog 1.5.0 (FCKeditor 2.6): fckeditor/editor/filemanager/connectors/php/upload.php

Am Anfang der jeweiligen Datei - nach dem Copyright-Text, aber vor dem ersten require(...), fügt man folgendes Code-Stück ein:

if (strpos($_SERVER['PHP_SELF'], 'upload.php') !== false) {
    die('This file can not be used on its own!');
}

Auch hier sollte man wieder auf das Vorhandensein beider Dateien testen.

Weiterführende Links

Trackback

Trackback-URL für diesen Eintrag: http://geeklog.info/trackback.php/datei-uploads

Andere haben folgendes über 'Unerwünschte Datei-Uploads' geschrieben:

Geeklog 1.5.1 - Geeklog
[...] LINKS letzte 2 WochenEs gibt keine Links anzuzeigen. Termine Samstag 27. Sep. - Sonntag 28. Sep. unerwünschten Datei-Uploads. Darüber hinaus gab es auch noch Probleme mit dem Schutz vor direktem Aufruf von Include-Files auf [...] [mehr]
Empfangen am Montag, 22. September 2008, 21:45 Uhr

Unerwünschte Datei-Uploads
Markus

 Mittwoch, 03. September 2008, 08:43 Uhr

Erhlich gesagt, ich fand schon die Tatsache, dass man ggf. auf diese Weise Bilder hochladen konnte, ohne dass der Admin sich unbedingt dessen bewußt war, alarmierend: geeklog.info
[ Antwort schreiben | # ]
m4x

 Montag, 29. September 2008, 16:04 Uhr

Danke für den Tipp, jetzt hab ich wohl einiges nachzubessern.
[ Antwort schreiben | # ]