Betreff: Aw:: XOOPS 2.4.x ckeditor + ckfinder von Gast am 23.12.2009 12:59:32
Und genau da liegt der Hacken.
Ob er dann richtig konfiguriert ist, kann man sehr schnell herausfinden. Einfach mal die htmlseite vom ckfinder direkt aufrufen.
http://deine webseite/class/xoopseditor/ckeditor/ckfinder/ckfinder.html
hier muss die Meldung „Der Dateibrowser wurde aus ….“ kommen, ansonsten besteht hier ein Sicherheitsrisiko.
Die Konfigurationseinstellungen des CKFINDERS werden über das Script: …/class/xoopseditor/ckeditor/ckfinder/config.php eingestellt.
Standardmäßig wird dort in der Funktion CheckAuthentication() false zurückgegeben.
Ändert man diesen Wert auf true, ohne sich vorher Gedanken darüber zu machen, was er für Auswirkungen hat, dann kommt es zu der Sicherheitslücke.
Hier mal ein Code-Beispiel wie man eine Authentifizierung einbinden kann. Die Nutzung des CKFINDERS wird dabei auf den Admin beschränkt.
Script …/class/xoopseditor/ckeditor/ckfinder/config.php
<?php
..
$current_path = dirname(__FILE__);
if ( DIRECTORY_SEPARATOR != "/" ) {
$current_path = str_replace( DIRECTORY_SEPARATOR, "/", $current_path);
}
$xoops_root_path = substr($current_path, 0, strpos(strtolower($current_path), "/class/xoopseditor/ckeditor/ckfinder"));
include_once $xoops_root_path . "/mainfile.php";
if (!defined("XOOPS_ROOT_PATH")) die('xoops_root_path incorrect');
include_once $GLOBALS['xoops']->path('include/cp_functions.php');
function CheckAuthentication()
{
$Authorized = false;
global $xoopsUser;
if ($xoopsUser) {
if ($xoopsUser->isAdmin())
$Authorized = true;
}
return $Authorized;
}
Frohe Weihnachten
|