Nach Hacker Angriff Fehlermeldung

Begonnen von Gruenschnabel, 15 Juni 2003, 19:01:16

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Gruenschnabel

Hallo
Habe da ein Problem nach einem Hacker Angriff von Th3 Lords group Brazil beim einlocken.
Die ersten 5 Einträge auf der startseite waren betroffen.
(Habe ich schon in der Datenbank rausgeschmissen).
Aber beim einlocken komme ich nicht mehr ins Administrationsmenü.

Der folgende Fehlermeldung tritt auf:


Fatal error: Cannot redeclare dynmeta() (previously declared in /www/htdocs/werkscom/kreativ/includes/meta.php:94) in /www/htdocs/werkscom/kreativ/includes/meta.php on line 89

Hier ist die meta.php die wir benützen:


<?php
/************************************************************************/
/* PHP-NUKE: Web Portal System                                          */
/* ===========================                                          */
/*                                                                      */
/* Copyright (c) 2001 by Francisco Burzi (fbc@mandrakesoft.com)         */
/* http://phpnuke.org                                                   */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/************************************************************************/
/************************************************************************/
/* Additional Disclaimer:   DYNMETAKEYS-1.1.2                            */
/* ======================                                               */
/* This file was modificated by Bernd Kamm (webmaster@be-ka.de)         */
/* http://be-ka.de                                                      */
/* For the modifications: Copyright (c)2002 by Bernd Kamm, Nuernberg,FRG*/
/* This Modification gives possability to generate dynamic META-TAG KEY */
/* WORDS and MEATE - description for news generated by article.php.     */
/* This Modification is part of the new administration-module           */
/* DYNMETAKEYS Version 1.1 made by Bernd Kamm. This new Admin-Module is */
/* build as a tribute to the great work of Francisco Burzi.             */
/* These new Admin-Module: DYNMETAKEYS Version 1.1 is free software.    */
/* You can redistribute it and/or modify it under the terms of the      */
/* GNU General Public License as published by                           */
/* the Free Software Foundation; either version 2 of the License.       */
/* Modifications are marked by comments: "//mod beka"                   */
/* DYNMETAKEYS is part of a new phpnukemodule for building static pages */
/* with phpnuke - first release of the complete Module march 2002, stay  */
/* tuned ;-) or register at http://be-ka.de for information              */
/************************************************************************/

if (eregi("meta.php",$PHP_SELF)) {
    Header("Location: ../index.php");
    die();
}
global $dynkeys, $metatime, $description, $date;
//mod dynamic metakeys
//statkeys here you must insert your STATIC META-Keywords:
$statkeys = "insert, your, static, keywords";
// actual date in the Meta name=Date, if you don't like uncomment meta tage date above//
$metatime = date("Y-m-d")."T". date("H:i:s");

dynmeta();
//static or dynmaic keywords?
 if (!$dynkeys){
    $metakeys = $statkeys;
    }
 else {
      $metakeys = ereg_replace("\n", "", $dynkeys);
      }
//static or dynamic description
 if (!$description){
    $description = $slogan;
 }
 else {
      $description = ereg_replace("\n", "", $description);
 }
//actual date or article date
 if (!$date){
    $datetime = $metatime;
 }
 else {
      $datetime = ereg_replace(" ", "T", $date);
 }
//end mod

echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset="._CHARSET."\">\n";
echo "<META HTTP-EQUIV=\"EXPIRES\" CONTENT=\"0\">\n";
//mod by beka new METATAG DATE!
echo "<META NAME=\"DATE\" CONTENT=\"$datetime\">\n";
// end mod
echo "<META NAME=\"RESOURCE-TYPE\" CONTENT=\"DOCUMENT\">\n";
echo "<META NAME=\"DISTRIBUTION\" CONTENT=\"GLOBAL\">\n";
echo "<META NAME=\"AUTHOR\" CONTENT=\"$sitename\">\n";
echo "<META NAME=\"COPYRIGHT\" CONTENT=\"Copyright (c) 2001 by $sitename\">\n";
// mod beka var $metakeys
echo "<META NAME=\"KEYWORDS\" CONTENT=\"Internetsicherheit, XP, Winxp, WINXP, Windowsxp, Spiele, News, news, New, new, Technology, technology, Games, spiele, games, Hardware, internet, Internet, vieren, Vieren, Tipp, Tipps, Game, Hackers, konzert, Konzerte, linux, Windows, windows, Software, software, Download, download, Downloads, downloads, Free, FREE, free, Community, community, Forum, forum, Forums, forums, wetter, internetsicherheit, Board, board, Boards, fehler, Bugs, Bug, Chat, chat, Wetter, comment, Comments, comments, Portal, portal, Komentar, Komentare, Freie Software, freie software, Shareware, shareware, Grafik, grafik, monitor, Free Software, FreeSoftware, Freesoftware, free software, Filesharing, filesharing, feedback, Explorer, Enlightenment, enlightenment, Intercative, interactive, Programming, programming, Extreme, extreme, Game, game, Games, games, Web Site, web site\">\n";
// mod beka dynamic description
echo "<META NAME=\"DESCRIPTION\" CONTENT=\"$description\">\n";
//end mod
echo "<META NAME=\"ROBOTS\" CONTENT=\"INDEX, FOLLOW\">\n";
echo "<META NAME=\"REVISIT-AFTER\" CONTENT=\"7 DAYS\">\n";
echo "<META NAME=\"RATING\" CONTENT=\"GENERAL\">\n";
echo "<META NAME=\"GENERATOR\" CONTENT=\"PHP-Nuke $Version_Num - http://phpnuke.org\">\n";
echo "<META NAME=\"GOOGLEBOT\" CONTENT=\"NOSNIPPET\">\n";

//mod beka
function dynmeta(){
//-------------------------------------------------------
// selects keywords and description from table metakeys
// selects article Date/time from table stories

         global $prefix, $dbi, $dynkeys, $description, $date;
         $remote = getenv ("REMOTE_ADDR");
         $uri = getenv ("REQUEST_URI");
         //echo "remote: $remote,<br>\n"
         //."uri: $uri<br>\n";

         if (eregi("article\&sid=([0-9]{1,5})",$uri,$regs)){
            //debug
            //echo "<b>debug all true!</b><br><br>\n";
            //echo "regs1: $regs[1]<br>\n";
            $storyid = $regs[1];
            $result = sql_query("select keywords, description from $prefix"._metakeys." WHERE storyid='$storyid'", $dbi);
            while(list($dynkeys, $description) = sql_fetch_row($result, $dbi)){
                 $result2 = sql_query("select time from $prefix"._stories." WHERE sid='$storyid'", $dbi);
                 while(list($date) = sql_fetch_row($result2, $dbi)){
                   return $date;
                   return $dynkeys;
                   return $description;
                 }
            }
         }
} //ende func

?>
 

PS: Wir haben auch den Modservice vom Mirco laufen.
Vieleicht hat einer eine Idee
Danke
Gruß Andi

Andi

Hi Andi :)

vermutlich wird die meta.php 2x includet.
Wo, kann ich Dir nicht sagen....

Durchsuche mal Deine header.php und Deine themes nach dem includebefehl für die meta.php.
schön´s Grüssle, Andi

Gruenschnabel

Hy Andy

Wir hatten schon wieder einen Angriff auf unsererer Seite wer eine Lösung weis wie ich die Sicherheitslücke schliessen kann wir sind für jede Hilfe dankbar.
Ps:Hier ist die ip der hacker group:http://64.191.5.132/~silver/config.php

Es ist leider immer noch nicht Möglich sich als Admin einzulocken.
Ich habe in der header die meta.php auskommentiert.

Fatal error: Cannot redeclare opentableal() (previously declared in /www/htdocs/werkscom/kreativ/themes/Micro_black_Multicolor_1/theme.php:42) in /www/htdocs/werkscom/kreativ/themes/Micro_black_Multicolor_1/theme.php on line 41


  #Modservice Anfang###
zeile 41 function OpenTableAl() {
global $bgcolor1, $bgcolor2, $bgcolor5, $bg_logo;
echo "<table width=\"80%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"ff0000\" align=\"center\"><tr><td>\n";
echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"$bgcolor1\"><tr><td>\n";
}

function CloseTableAl() {
echo "</td></tr></table>\n</td></tr></table>\n";
}
#Modservice Ende###


Wer mal sehen will wie die ersten 5 Einträge ausehen der kann ja mal auf unserer seite nachschauen.

Gruß Andi

Andi

Hi Andi

zuerst wird es mal Zeit, dass Du schnellstens Deine index.php vom News-Modul änderst:
 //modules.php?op=modload&name=eBoard&file=viewthread&tid=6021

Den Rest, Moment....

[Editiert am 16.6.2003 von SiteAdmin Andi]
schön´s Grüssle, Andi

Andi

Was passiert denn, wenn Du Dich als Admin einloggen willst?
Kommt ne Meldung?
Cookie schon gelöscht?
schön´s Grüssle, Andi

Gruenschnabel

Hy Andi

Die index.php habe ich geändert!
Wir benützen aber das Modul Indy News und da existiert kein if ($score) { !

Die Cookies sind schon mehrmals gelöscht worden!!!!
Wir benützen alle gängige Browser Opera und co.

Die Meldung habe ich heute schonmal gepostet.

aber hier nochmal:

Fatal error: Cannot redeclare opentableal() (previously declared in /www/htdocs/werkscom/kreativ/themes/Micro_black_Multicolor_1/theme.php:42) in /www/htdocs/werkscom/kreativ/themes/Micro_black_Multicolor_1/theme.php on line 41

Also mal danke
Schöne Grüße Andi

Andi

Hi Andi :)

sorry, auf die bereits geschriebene Fehlermeldung habe ich nicht geachtet...

IndyNews kenn ich nicht richtig. Irgendwo muss da auch die Sicherheitslücke bestehen. Gibt es dort die Funktion ratearticle? Falls ja, schreib die hier mal rein.

Wegen der Fehlermeldung, da kommt irgendwie der modservice durcheinander. Vermutlich erzeugt eine Datenbankabfrage einen Fehler, der modservice springt an und versucht das theme ein 2tes mal zu includen. (oder irgend sowas)

Teste mal was passiert, wenn Du die sql_layer.php vom modservice mit der erweiterten sql_layer.php, hier aus den downloads, überschreibst.
Ansonsten mal warten was Micro zu dem Problem meint...
schön´s Grüssle, Andi

jogi24

hi
@Andi

hier der code

 function rate_article($sid, $score) {
    global $prefix, $dbi, $ratecookie, $sitename, $r_options;
    if ($score) {
        if (isset($ratecookie)) {
            $rcookie = base64_decode($ratecookie);
            $r_cookie = explode(":", $rcookie);
        }
        for ($i=0; $i < sizeof($r_cookie); $i++) {
            if ($r_cookie[$i] == $sid) {
                $a = 1;
            }
        }
        if ($a == 1) {
            Header("Location: modules.php?name=News&op=rate_complete&sid=$sid&rated=1");
        } else {
            $result = sql_query("update ".$prefix."_stories set score=score+$score, ratings=ratings+1 where sid='$sid'", $dbi);
            $info = base64_encode("$rcookie$sid:");
            setcookie("ratecookie","$info",time()+3600);
            Header("Location: modules.php?name=News&op=rate_complete&sid=$sid$r_options");
        }
    } else {
        include("header.php");
        title("$sitename: "._ARTICLERATING."");
        OpenTable();
        echo "<center>"._DIDNTRATE."<br><br>"
            .""._GOBACK."</center>";
        CloseTable();
        include("footer.php");
    }
}
 

Andi

*grins*
Danke Jogi ;)

Das ist doch der gleiche Code wie im Original....

Also, vor  if ($score) { eine neue Zeile mit   $score = (int)$score;
, fertig. Dann laufen die Hackerangriffe ins Leere.....
schön´s Grüssle, Andi