скрытые ссылки на сайте DLE
Вирь на сайте, а точнее какой то "додельник" решил поиграца и установить на одном из моих сайтов биржевой скрипт linkfeed.ru.
Раскажу с начала. Лучше читать ) так как Вы потом потратите меньше времени чем те, кто с этим сталкивался и сталкивается.
Движок на сайте был DLE.
Во первых у меня упала посещалка, хорошо упала. Я не придал значения, инфу долго не обновлял ... статьи не писал и т.д. Вполне закономерно, подумал я.
Но потом при очередном анализе сайте на ключевики я с ужасом обнаружил что внешние ссылки, были в таком .... уенном количестве, что просто пздц !
Ладно бы это была биржа GGL в которой я зареган и частенько размещаю ссылки от туда. Так нет, порнушка, проститутки там проститутки тут, досуг и прочее
linkpad.ru - собственно сайт через который я все это и попалил, вводите урл, жмете "найти" и там уже в меню "ссылки на сайте" приходите в ужас, если нет, значит Вам повезло ) вы хороший спец, и сайт Ваш чист. Удобно - мне показало на какой странице, или категории сидит зловредный url. Я открывал эту страницу, поиском он не находил по анкору ни чего на страничке, то есть физически ссылку не было видно. Но при просмотре html кода я отчетливо видел ее, она заключалась в теге:
overflow:hidden - вот походу, что делало ссылки невидимыми.
Сначала я подумал что это где то в .tpl они прописаны, полез, чисто. Потом понял, что раз он избранно выбирает в какой статье какая ссылка тут или в базе он прописался или еще где. На часах первый час ночи. С утра на работу а я ни как не вдуплю где копать.
Потом вспомнил, что недавно делал бекап базы с хостинга, бегом побежал - распоковал весь корневой каталог и в тотал командере через поиск вбил первый попавшийся сайт (левую ссылку). Какого было удивление когда он нашел его по пути
public_html\uploads\posts\thumbs\data\ в файле .links.dat
В этом .dat файле сидели все ссылки, которые раскинулись на моем сайте.
Во 2 часу ночи я удалил .links.dat и ML_lcode.php которые были в одной и той же папке и проверив код на страничках с радостью вздохнул что ссылки уже там не появляются. Но ...
На утро, прийдя на работу, зашел и обнаружил что эти файлики то опять появились! Ну думаю, пора опять ковыряться. Стал ковырять более детально.
Нарыл что это вроде аналог сапы или майнлинка ... а именно код с сайта linkfeed.ru - полез бегом туда, аккаунт кстати у меня там был (к моему удивлению). Быстро написал в сапорт с просьбой забанить того, кто размещал у меня всю эту "дрянь". Сапорт попросил в корне сайта сделать .txt файлик, видимо проверочный. После всего этого сообщил что ссылки с моего сайта удалены, а user недопропорядочный забанен (интересно сколько бабла он еще не вывел, да думаю такие люди выводят их при первой возможности).
Дальше всплыло еще одно но, в файле functions.php было что то вроде
global $config;
$dir_path = $_SERVER['DOCUMENT_ROOT'] . '/uploads/posts/thumbs/';
$cache_result = manage_cache($dir_path);
$links = "<div style='width:150px; height:1px; padding:0px; font:11px Tahoma; overflow:hidden;'>";
$links .= $cache_result;
/*<mainlink>*/
require_once($dir_path . 'index.php');
$o['USERNAME'] = '1A2C856B13041D4B3D8FD0E6A9B858F9';
$o['charset'] = $config['charset'];
$client_lnk = new MLClient($o);
if (strpos($_SERVER['HTTP_REFERER'],'mainlink') !== false)
$links .= "</div>" . $client_lnk->build_links() . "<div style='width:150px; height:1px; padding:0px; font:11px Tahoma; overflow:hidden;'>"; else
$links .= $client_lnk->build_links();
/*</mainlink>*/
/*links*/
$links .= "</div>";
$tpl->set('{AJAX}', $ajax . $links);
я быренько удалил все что было между
и вроде то норм, но вот все равно что то нето (тег скрывающий ссылку то остался). Если удалить весь вышеуказанный код сразу возникала ошибка, сайт не загружался и ругался
Call to undefined function build_rss
Подходошли к финишу (надеюсь больше ни чего не всплывет).
Поменял пароли от админки и хоста.
Скачал дистриб DLE той же версии что и у меня. Перезалил functions.php с дистриба. Ошибка не ушла, стал плеваться опять.
Перезалил весь каталог \engine\modules с перезаписью файлов (думал проверю дальше где ковырять). Тоже не помогло. Вернул их обратно и перезалил с дистриба с корня файл index.php - судорожно нажал ctrl+f5 и опа! Сайт открылся
Пару советов:
- скачайте весь корневой каталог (если есть возможность) к себе на комп, через тотал командер ищите ссылки (ALT+F7 в тотале) и там уже "с текстом" - указываете ссылку. Найдет файл - уже пол дела сделано.
- смена паролей от фтп и админки
- не поленитесь найти биржу, через которую все это осуществлялось и пишите в сапорт с просьбой забанить того чела, который все это "развесил".