FolderGallery - wichtiges Sicherheitsupdate

Fragen und Hilfe zu Website Baker 2.8.3
Gesperrt
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

FolderGallery - wichtiges Sicherheitsupdate

Beitrag von shadowcat »

Im WB-Forum wurde nach einem Security Patch für die FolderGallery 1.34 gefragt, da diese im Addons Repository als unsicher gelistet ist, aber niemand sagen will, worum es da im Detail geht. Ich habe mich der Sache mal angenommen und einen wirklich üblen Fehler gefunden, in dessen Folge ein Angreifer Zugriff auf die komplette Datenbank erhält. (!!!)

Das Traurige daran ist, daß Jürg, der ursprüngliche Autor, eine entsprechende Überprüfung der Übergabeparameter, die das verhindern können, ursprünglich drin hatte, diese aber deaktiviert hat, weil er die Funktionalitäten in eine Klasse verschieben wollte. Bevor er damit fertig wurde, hat er die WB-Community verlassen - und danach ist das niemandem mehr aufgefallen.

Der ebenso einfache wie wirksame Trick ist daher, die deaktivierte Zeile wieder zu aktivieren. Geprüft mit Wapiti und Havij.
Dateianhänge
foldergallery_1.37.zip
(845.75 KiB) 275-mal heruntergeladen
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
Morpheus
Beiträge: 1050
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: FolderGallery - wichtiges Sicherheitsupdate

Beitrag von Morpheus »

Da ich das auch benutze, hab ich das mal schnell in der Testumgebung installiert:

Installation lief mit einer Fehlermeldung auf, die aber sich selber wieder verabschiedete.
Im Backend waren dann auch ein paar Meldungen.
Hier mal das komplette Log: (Ist auch glaub ich von der Blackgallery was drin) ;)

Code: Alles auswählen

2015-02-16 8:59:20 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 8:59:31 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 8:59:34 - INFO --> [errorHandler()] lvl: 8 | msg:Use of undefined constant NEWS_SECTION - assumed 'NEWS_SECTION' | file:C:\xampp\htdocs\black\modules\blacknews\classes\class.news.php | ln:1000 [ class.news.php:(145) ]
2015-02-16 8:59:34 - INFO --> [errorHandler()] lvl: 8 | msg:Use of undefined constant NEWS_SECTION - assumed 'NEWS_SECTION' | file:C:\xampp\htdocs\black\modules\blacknews\classes\class.news.php | ln:1000 [ class.news.php:(145) ]
2015-02-16 8:59:37 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: alt | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\cc_catgallery\templates\default\view.tpl.d17.php | ln:57 [ view.tpl.d17.php:(145) ]
2015-02-16 8:59:37 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: alt | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\cc_catgallery\templates\default\view.tpl.d17.php | ln:57 [ view.tpl.d17.php:(145) ]
2015-02-16 9:02:05 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: variant | file:C:\xampp\htdocs\black\modules\cc_multicolumn\classes\class.multicolumn.php | ln:668 [ class.multicolumn.php:(145) ]
2015-02-16 9:02:05 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined variable: parser | file:C:\xampp\htdocs\black\modules\cc_multicolumn\view.php | ln:72 [ view.php:(145) ]
2015-02-16 9:02:05 - CRIT --> [shutdownHandler()] [SHUTDOWN] lvl:1 | msg:Call to a member function setPath() on a non-object | file:C:\xampp\htdocs\black\modules\cc_multicolumn\view.php | ln:72 [ :(176) ]
2015-02-16 11:08:27 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:08:34 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:18:36 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:18:54 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:19:09 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:19:33 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:20:09 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:20:13 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:20:34 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:20:54 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:21:06 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:21:31 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:21:49 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 11:22:08 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined index: images_title | file:C:\xampp\htdocs\black\temp\compiled\C-\xampp\htdocs\black\modules\blackGallery\templates\default\lightbox_prettyPhoto.tpl.d17.php | ln:3 [ lightbox_prettyPhoto.tpl.d17.php:(145) ]
2015-02-16 13:04:07 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:29 [ view.php:(145) ]
2015-02-16 13:04:07 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:34 [ view.php:(145) ]
2015-02-16 13:04:07 - WARN --> [errorHandler()] lvl: 2 | msg:mysql_set_charset() expects parameter 2 to be resource, null given | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:34 [ :(140) ]
2015-02-16 13:04:08 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined offset: 0 | file:C:\xampp\htdocs\black\include\phplib\template.inc | ln:342 [ template.inc:(145) ]
2015-02-16 13:04:08 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined offset: 0 | file:C:\xampp\htdocs\black\include\phplib\template.inc | ln:342 [ template.inc:(145) ]
2015-02-16 13:04:09 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:442 [ view.php:(145) ]
2015-02-16 13:04:09 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:445 [ view.php:(145) ]
2015-02-16 13:04:09 - WARN --> [errorHandler()] lvl: 2 | msg:mysql_set_charset() expects parameter 2 to be resource, string given | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:445 [ :(140) ]
2015-02-16 13:04:32 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:29 [ view.php:(145) ]
2015-02-16 13:04:32 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:34 [ view.php:(145) ]
2015-02-16 13:04:32 - WARN --> [errorHandler()] lvl: 2 | msg:mysql_set_charset() expects parameter 2 to be resource, null given | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:34 [ :(140) ]
2015-02-16 13:04:32 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined offset: 0 | file:C:\xampp\htdocs\black\include\phplib\template.inc | ln:342 [ template.inc:(145) ]
2015-02-16 13:04:32 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined offset: 0 | file:C:\xampp\htdocs\black\include\phplib\template.inc | ln:342 [ template.inc:(145) ]
2015-02-16 13:04:32 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:442 [ view.php:(145) ]
2015-02-16 13:04:32 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:445 [ view.php:(145) ]
2015-02-16 13:04:32 - WARN --> [errorHandler()] lvl: 2 | msg:mysql_set_charset() expects parameter 2 to be resource, string given | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:445 [ :(140) ]
2015-02-16 13:05:38 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:29 [ view.php:(145) ]
2015-02-16 13:05:38 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:34 [ view.php:(145) ]
2015-02-16 13:05:38 - WARN --> [errorHandler()] lvl: 2 | msg:mysql_set_charset() expects parameter 2 to be resource, null given | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:34 [ :(140) ]
2015-02-16 13:05:38 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined offset: 0 | file:C:\xampp\htdocs\black\include\phplib\template.inc | ln:342 [ template.inc:(145) ]
2015-02-16 13:05:38 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined offset: 0 | file:C:\xampp\htdocs\black\include\phplib\template.inc | ln:342 [ template.inc:(145) ]
2015-02-16 13:05:38 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:442 [ view.php:(145) ]
2015-02-16 13:05:38 - INFO --> [errorHandler()] lvl: 8 | msg:Undefined property: database::$db_handle | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:445 [ view.php:(145) ]
2015-02-16 13:05:38 - WARN --> [errorHandler()] lvl: 2 | msg:mysql_set_charset() expects parameter 2 to be resource, string given | file:C:\xampp\htdocs\black\modules\foldergallery\view.php | ln:445 [ :(140) ]
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: FolderGallery - wichtiges Sicherheitsupdate

Beitrag von shadowcat »

Tja, BC ist streng. Ich sehe die Meldungen in WB auch, weil ich XDebug benutze. BC protokolliert sie, weil die PHP-Fehlerberichte hochgeschaltet sind. Ich werde daran auch nichts ändern, mir ging es nur um das Sicherheitsproblem. Die FG ist alt und buggy und durch viele Hände gegangen, dementsprechend ein einziges Chaos. Ich hab die neulich als Basis für einen Auftrag umgebaut und mach das garantiert nicht nochmal. *schauder* Vielleicht spendet "blackfan" das Ergebnis ja der Community. ;)
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
Morpheus
Beiträge: 1050
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: FolderGallery - wichtiges Sicherheitsupdate

Beitrag von Morpheus »

na, dann muss ich schnell auf BlackGallery umstellen :)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: FolderGallery - wichtiges Sicherheitsupdate

Beitrag von shadowcat »

Ich versuche gerade herauszufinden, was da noch zu tun ist... *mal wieder verwirrt*
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
florian
Beiträge: 75
Registriert: Mo 12. Aug 2013, 09:47
Wohnort: Leipzig
Kontaktdaten:

Re: FolderGallery - wichtiges Sicherheitsupdate

Beitrag von florian »

Hallo Bianka,

vielen Dank, dass Du Dich so schnell der Sache angenommen hast.
Ist die 1.21 auch betroffen?

Viele Grüße
-Florian.
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: FolderGallery - wichtiges Sicherheitsupdate

Beitrag von shadowcat »

Ich hab hier grad keine zur Hand, schau mal in die view.php nach diesem Code hier:

Code: Alles auswählen

if (isset($_GET['cat'])) {
    $aktuelleKat = urldecode($_GET['cat']);
    //$aktuelleKat = FG_cleanCat(urldecode($_GET['cat']));
} else {
    $aktuelleKat = '';
    $FG_Error['CatNotValid'] = true;
}
Die auskommentierte Zeile sollte nicht auskommentiert sein. Kann aber sein, daß die 1.21 noch komplett anders aussieht.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
blackfan
Beiträge: 25
Registriert: Mi 26. Nov 2014, 14:52

FolderGallery - Neu

Beitrag von blackfan »

Ich hab die neulich als Basis für einen Auftrag umgebaut und mach das garantiert nicht nochmal. *schauder* Vielleicht spendet "blackfan" das Ergebnis ja der Community.
Ja, er spendet das Ergebnis der Community, gerade erst gelesen. Allerdings bin ich mir nicht sicher ob das überhaupt direkt mit BlackCat funktioniert, dafür war es ja eigentlich auch nicht gedacht...

Für BlackCat sind eventuell Anpassungen notwendig...
Dateianhänge
fotogalerie_v2.0.4.zip
(206.13 KiB) 241-mal heruntergeladen
BlackCat Rocks,
Gruß blackfan
blackfan
Beiträge: 25
Registriert: Mi 26. Nov 2014, 14:52

neue Version

Beitrag von blackfan »

Soooooo, also es müssen vermutlich die Pfade in der config.inc.php angepasst werden (fotogalerie/config.inc.php)
Hier mal der Inhalt in Auszügen:

Code: Alles auswählen

...

/**
 *  Pfad und URL zum Stammverzeichnis der Fotogalerie
 *  Das Stammverzeichnis ist das hoechste Verzeichnis
 *  auf welches die Fotogalerie Zugriff hat.
 *  Die Werte muessen auf das gleiche Verzeichnis zeigen.
 **/

$fgpath            = WB_PATH.MEDIA_DIRECTORY;
$fgurl             = WB_URL.MEDIA_DIRECTORY;
$fgthumbdir        = '/.verkleinert';

// Ab dieser Groesse wird kein Thumb mehr erzeugt. Die Dateien sind zu gross.
$fg_megapixel_limit   = 5; 
// Beruecksichtigte Dateiendungen
$fg_allowedExtensions = array('jpg','jpeg','png');
// Vorgaben fuer die Einstellungen-Seite
$fg_allowedSizes      = array('80x80','100x100','120x120','150x150');
// Wenn diese Einstellung auf 'false' steht, werden Unterverzeichnisse nicht
// beruecksichtigt
$fg_recurse           = false;
// Keine Skinauswahl (true); dann wird der Defaultskin genommen!
$fg_noskinselection   = true;
// Standard-Skin
$fg_defaultskin       = 'pics_only';
// Erstellmethode fuer das verkleinerte Bild. 'fit','crop' oder 'fill'.
$fg_resizemethod      = 'fit';
// Beim Synchronisieren wird versucht, die maximale Ausfuehrungszeit fuer
// Scripten zu erhoehen. Hat ggfs. keine Auswirkungen, je nach Provider.
$fg_max_exec_time     = 60;
// 0.75 entspricht 75%, so dass 25% Puffer bleiben, um den Scriptlauf
// abzuschliessen. Moeglichst nicht aendern.
$fg_time_buffer       = 0.75;

// *****************************************************************************
// ----- ab hier nichts mehr aendern! -----
// *****************************************************************************

...
Ich würde mich sehr freuen, wenn sich Jemand, der entsprechend Ahnung hat, der Sache annehmen könnte...
Und das Ergebnis anschließend hier wieder postet.

Added in 34 minutes 16 seconds:
nur für websitebaker
Die hier hochgeladene Version funktioniert nur mit websitebaker, um Missverständnissen vorzubeugen.
Für BlackCat müsste sie halt entsprechend angepasst werden...
BlackCat Rocks,
Gruß blackfan
Gesperrt