Es gibt einen SecFix, der verhindert, dass "boeser" Code in PHPNuke Seiten eingebaut werden kann - Installiertes PHP Version 4.1.0 oder höher ist erforderlich. Im mainfile soll der Abschnitt foreach ($_GET as $secvalue) ersetzt werden mit:
foreach ($_REQUEST as $key=>$value) {
if (get_magic_quotes_gpc()==0) {
$value = addslashes($value); // This will reproduce the option magic_quotes_gpc=1
}
$value =
str_replace(array(')','=','','|'),array(')','=','','|'),$value);
${$key} = $value;
$_REQUEST[$key] = $value;
if (isset($_POST[$key])) { $_POST[$key] = $value; }
if (isset($_COOKIE[$key])) { $_COOKIE[$key] = $value; }
if (isset($_FILE[$key])) { $_FILE[$key] = $value; }
if (isset($_GET[$key])) { $_GET[$key] = $value; }
if (isset($HTTP_POST_VARS[$key])) { $HTTP_POST_VARS[$key] = $value; }
if (isset($HTTP_COOKIE_VARS[$key])) { $HTTP_COOKIE_VARS[$key] = $value;
}
if (isset($HTTP_FILE_VARS[$key])) { $HTTP_FILE_VARS[$key] = $value; }
if (isset($HTTP_GET_VARS[$key])) { $HTTP_GET_VARS[$key] = $value; }
}
Jetzt hab ich die mainfile.php in meinem VKP Mxxx RC1 SP-komplett mal gecheckt und folgenden Eintrag gefunden:
foreach ($HTTP_GET_VARS as $secvalue) {
if (eregi("<[^>]*script*\"?[^>]*>", $secvalue)) {
die ("I don't like you...");
}
Also wieder was anderes, als in der mainfile stehen soll. Meine Frage nun: Ist meine mainfile geschützt oder soll ich obigen Code durch den Fix ersetzen. Quelle des Fixes:
http://phpnuke.org/modules.php?name=Forums&file=viewtopic&t=5408
mfg
soundworx
Hallo !
Wobei dieser Abschnitt --->
Zitatif (isset($_FILE[$key])) { $_FILE[$key] = $value; }
auch nix hilft, denn es gibt die Variable/ das Array $_FILE nicht !
das müsste so lauten
Zitatif (isset($_FILES[$key])) { $_FILES[$key] = $value; }
MfG
jubilee
Hi soundworx :)
kannst Du ruhig entsprechend abändern, aber mit der Änderung von Jubilee.
Ausserdem unbedingt die letzten 3 Posts von diesem thread beachten!! http://www.nukeforums.de/viewtopic.php?t=14847&highlight=replace+array
Sonst bringt es nämlich gar nichts....
Im VKP-2 ist das dann etwas besser gelöst.
[Editiert am 27.6.2003 von SiteAdmin Andi]