Dedies-Board (https://www.dedies-board.de/wbb2/index.php)
- Sicherheit (https://www.dedies-board.de/wbb2/board.php?boardid=6)
-- Sicherheitsnews (https://www.dedies-board.de/wbb2/board.php?boardid=7)
--- Sicherheits-Bug im WBB2 (https://www.dedies-board.de/wbb2/thread.php?threadid=2694)


Geschrieben von dedie am 01.08.2010 um 19:40:

  Sicherheits-Bug im WBB2

Alle Foreneigner die ein WBB2.x betreiben sollten umgehend eien kleine Dateiänderung durchführen.

Zitat:
Hallo @all,

leider ist ein Bug in allen wBB2-Versionen die es erlaubt eine PHP-Datei hochzuladen die einen "PHP.Shell"-Virus enthält.

Dieses ist heute passiert auf meinem Server weil ein Style importiert wurde der den Virus enthält.

Im "images"-Verzeichnis von dem Style war eine Datei "r57.php" die ein PHP.Shell"-Virus ist.

Leider prüft das wBB2 nicht, das bei einem Style-Import, eine PHP-Datei nicht hoch geladen werden darf.

Ich würde allen DRINGEND empfehlen die folgende Änderung zu machen.
Suche:
Editiere die Datei "acp/style.php".
code:
1:
if (!isset($data['images'][$image]) || !$data['images'][$image])continue;


Füge darunter ein:

code:
1:
if (wbb_strtolower(wbb_substr($image, - 4)) == ".php") continue;



Weitere Infos so wie die Quelle



Geschrieben von Haui am 01.08.2010 um 23:26:

 

Ich weiß ja nicht was der Code in der Datei sonst so macht, aber der neu einzufügende übeprüft doch lediglich die Dateiendung eines "Styles". Was passiert denn wenn man eine Datei mit beliebiger Endung/"Style-Endung" hochlädt die PHP-Code enthält? Zudem ist ja .php zwar die wichtigste Dateiendung für PHP-Dateien, aber es existieren trotzdem noch weitere....



Geschrieben von dedie am 03.08.2010 um 18:21:

 

Gute Frage grübeln

Ich leite die mal an wenn weiter welcher etwas mehr Plan davon hat als meiner einer yes



Geschrieben von Haui am 10.08.2010 um 19:46:

 

Da ich die Antwort nun in dem verlinkten Forum gelesen hab würde ich das Ganze eher der Kategorie Würgaround zuordnen. Fröhlich
Prinzipiell geschieht hier ja folgendes:
Man lädt irgendeinen Style hoch und das Paket enthält dann z.B. eine PHP-Shell. Ein Angreifer kann dann praktisch über "http://mein.webserver/styles/shell.php" darauf zugreifen und so Zugriff auf den Server erlangen. So weit so gut. Allerdings verhindert der Patch wie gesagt nur, dass Dateien mit dem Namen "*.php" in das entsprechende Verzeichnis "entpackt" werden. Je nach Konfiguration des Webserver werden aber u.U. auch php4 oder phtml-Dateien interpretiert und eben nicht angezeigt.
Die deutlich sauberere Lösung wäre in meinen Augen die, das Ausführen von PHP-Dateien in Verzeichnissen, die sowieso keine PHP-Dateien enthalten sollen, direkt zu verbieten. Dies kann man z.B. durch einen Eintrag in der .htaccess erreichen:
code:
1:
 php_flag engine off


Sicherlich gibt es noch andere Mittel und Wege, aber ich bin in der Materie nicht ganz so fit. Petzauge



Geschrieben von dedie am 10.08.2010 um 20:12:

 

Zitat:
Man lädt irgendeinen Style hoch und das Paket enthält dann z.B. eine PHP-Shell


Fast richtig, die endung lautet *.style und wird von der Forensoftware mittels der "style.php" ausgelesen.

Diese style.php befindet sich im Verzeichnis "acp" (was jeder halbwegs vernünftige Admin mittels einer access abgesichert hat und lässt sich eigentlich nur über das Foreneigene Adminsystem aufrufen) , dieses verzeichnis enthält leider jede menge *.php dateien die für den laufenden Forenbetrieb wichtig sind so das man dort kein php unterbinden kann/darf yes

Unterbinden kann man den php-zugriff im Ordner "Image" da dort eigentlich nur Pics sein sollten, was aber wiederum nicht verhindern würde das z.B. eine *.style datei unbefugter weise php ausführen kann(ich glaub so langsam wirds kompliziert) grübeln



Geschrieben von Haui am 10.08.2010 um 20:35:

 

Wie gesagt ich kenne das WBB-System nicht von der Admin-Seite, kann also fast nur mutmaßen.
Die .style-Datei wird wohl nichts anderes als ein Archiv sein, das von der style.php entpackt wird (ich hab kurz gegoogled, aber tatsächlich keine Seite gefunden, wo ich ohne Registrierung einen Style runterladen konnte....). Wenn da nicht total was schief geht, sollte hier auch kein im Style evtl. enthaltener PHP-Code ausgeführt werden. Zudem sollte da auch sichergestellt sein, dass "nicht das Archiv entscheidet wo es seine Dateien hinhaben will", sondern die style.php nur ganze bestimme Zielverzeichnisse zulässt.

Wenn das nun z.B. (schematisch) so aussieht:
code:
1:
2:
3:
4:
5:
6:
7:
8:
                              _ user.css
                            / 
                 _ css (dir)-- -- main.css
               /
foo.style ---- pics (dir)--- panel.jpg
                        \_ shell.php

Wird das von der style.php entpackt, sollten die Dateien in "root-directory/wbb/css" bzw. "root-directory/wbb/pics" landen. Also muss man in dem konkreten Fall erst mal nur auf die Verzeichnisse achten, in die tatsächlich Dateien geladen werden können. Ich vermute, dass man in den meisten Fällen in diesen Zielverzeichnisse das Ausführen von PHP-Dateien verbieten darf.
Wenn die style-Datei aber sowieso eine ausführbare Datei ist, die selbst schon beliebigen Code ausführen kann ist das natürlich alles sowieso für die Katz, aber das kann ich mir nicht wirklich vorstellen.



Geschrieben von dedie am 10.08.2010 um 20:53:

 

Ich bin mal so frei und lade ein komplettes Stylepaket hoch, den Link kriegst du per PN.



Geschrieben von Haui am 15.08.2010 um 20:12:

 

Sorry dass meine Antwort erst so spät kommt, aber ich bin die letzten Tage einfach nicht dazu gekommen mir das mal anzusehen.
Es ist etwa so wie ich mir das gedacht habe, bloß ist die .style-Datei kein Archiv sondern eine Base64-kodierte HTML-Datei mit PHP-Elementen. Die restlichen Dateien, die zu einem Style gehören sind hauptsächlich Grafiken. Ob eine Style-Datei entsprechend manipuliert werden kann um Code auszuführen weiß ich nicht, allerdings bleibt die o.g. Kritik bestehen, da je nach Konfiguration des Servers eben nicht nur .php-Dateien, sondern ggf. auch .phtml-Dateien (u.a.) interpretiert werden.
Darum sollte man sich solche Pakete vor dem Import mal in aller Ruhe ansehen um böse Überraschungen zu vermeiden.



Geschrieben von dedie am 15.08.2010 um 21:36:

 

Zitat:
Darum sollte man sich solche Pakete vor dem Import mal in aller Ruhe ansehen um böse Überraschungen zu vermeiden.


Und nicht nur solche Pakete yes