Sicherheitslücke im samPHPweb

Status
Für weitere Antworten geschlossen.

Makkus

Benutzer
Hi @ all!

Sollte unter euch der eine oder andere Radiobetreiber sein, der die nette Request-Funktion des SAM Broadcasters nutzt (und hier ist NUR die PHP-Variante betroffen!), möchte ich dringend darauf hinweisen, dass hier eine Sicherheitslücke entdeckt wurde, mit deren Hilfe es möglich ist, Dateien auf den Server, auf dem das samPHPweb läuft, zu übertragen.

Es wird also empfohlen, vorerst auf die Request-Funktion zu verzichten.

Betroffen ist insbesonders die Datei db.php, welche im common-Ordner liegt.

Mögliche Abhilfen sind:
- db.php mit einem Editor öffnen, und direkt unter dem <? folgenden Code setzen:
Code:
if (stristr($_SERVER['SCRIPT_NAME'], "db.php")) { 
    die ("Access Denied"); 
}

und/oder:

config.php öffnen, und die Zeile
Code:
require_once("common/db.php");
ersetzen durch
Code:
require_once("common/wie3674db.php");
(hier nur ein Beispiel).

Natürlich muss die db.php anschliessend - nach diesem Beispiel - in wie3674db.php umbenannt werden. Wie gesagt - es ist ein Beispiel. Ihr könnt die Datei auch currywurst.php nennen.

Sämtliche Angreifer versuchen direkt auf die db.php zuzugreifen. Mit dem ersten Code wird, beim versuch, die db.php direkt aufzurufen, ein Fehler ausgegeben (Access Denied).

Wird die db.php mit dem Codeschnippsel dort oben ausgestattet, ist also zum einen ein direkter Aufruf nicht mehr möglich, und zum zweiten wird die db.php durch umbenennen für andere erst recht nicht mehr ausführbar, weil gar nicht mehr vorhanden. Zumindest nicht unter diesem Namen. Ich denke kaum, dass ein Angreifer Lust hat, nun eine bruteforce durchzuführen, nur um die Datei ausfindig zu machen. :D

Hier die Quelle:
http://secunia.com/advisories/28355/

Und hier der Beitrag in den Foren von spacialaudio.com, in dem die von mir geschilderten Lösungsvorschläge zu finden sind:

http://support.spacialaudio.com/forums/viewtopic.php?t=21681

Edit:
Ach, noch etwas. Schaut euch den Ordner, in dem die db.php liegt, und auch den req - Ordner genau an, ob sich dort eine etwa 150KB grosse PHP-Datei befindet, welche unterschiedliche Namen haben kann, dort aber definitiv nicht hingehört. Wenn ihr so eine Datei vorliegen habt, dann hat man euch schon besucht ;) Wenn ihr versucht, diese Datei mit einem Texteditor zu öffnen, wird euer Virenscanner Alarm schlagen, und einen PHP-Virus Namens PHP/C99Shell.B melden.

Und - sollte die db.php seltsamerweise komplett verschwunden sein, dann wollten die netten Besucher nach dem Ablegen des PHP/C99Shell.B nur auf Nummer sicher gehen, dass ihnen niemand das gefundene Fressen klaut. ;)


Gruß
Marcus
 
AW: Sicherheitslücke im samPHPweb

Ergänzend bleibt zu sagen, daß diese Sicherheitslücke vollständig nur bei aktiviertem REGISTER_GLOBALS ausgenutzt werden kann, es empfiehlt sich also, so möglich, in der php.ini REGISTER_GLOBALS=OFF zu setzen.

Zusätzlich sollten die samphpweb Ordner mit eingeschränkten Zugriffsrechten (kein Schreibrecht) versehen werden, also mit CHMOD 0555 das macht es schwerer, schädlichen Code auf den Webspace zu speichern....


Gruß,
Croydon
 
AW: Sicherheitslücke im samPHPweb

Aus dem Grund ist es ja ab PHP5 per Default deaktiviert. Dummerweise gibt es immer noch stümperhafte Programmierer, die dieses ignorieren.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben