Seite 1 von 1

FolderGallery - wichtiges Sicherheitsupdate

Verfasst: Mo 16. Feb 2015, 13:00
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.

Re: FolderGallery - wichtiges Sicherheitsupdate

Verfasst: Mo 16. Feb 2015, 13:11
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) ]

Re: FolderGallery - wichtiges Sicherheitsupdate

Verfasst: Mo 16. Feb 2015, 13:14
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. ;)

Re: FolderGallery - wichtiges Sicherheitsupdate

Verfasst: Mo 16. Feb 2015, 13:16
von Morpheus
na, dann muss ich schnell auf BlackGallery umstellen :)

Re: FolderGallery - wichtiges Sicherheitsupdate

Verfasst: Mo 16. Feb 2015, 13:53
von shadowcat
Ich versuche gerade herauszufinden, was da noch zu tun ist... *mal wieder verwirrt*

Re: FolderGallery - wichtiges Sicherheitsupdate

Verfasst: Mo 16. Feb 2015, 14:16
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.

Re: FolderGallery - wichtiges Sicherheitsupdate

Verfasst: Mo 16. Feb 2015, 14:50
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.

FolderGallery - Neu

Verfasst: Mi 10. Jun 2015, 11:38
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...

neue Version

Verfasst: Mi 10. Jun 2015, 16:00
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...