Быстрый поиск шеллов в joomla, wordpress и dle (wp-conf.php, index_backup.php)
Если вы знакомы с ssh и командной строкой unix, и ваши сайты на joomla, wordpress, dle взломали в автоматическом режиме (обычно при этом появляются wp-conf.php, index_backup.php и .htaccess файлы с редиректами на index_backup.php), приведенный ниже список команд позволит вам быстро найти и удалить большую часть шеллов:
find . -name '*.php' -exec grep -l '$msg=@gzinflate(@base64_decode(@str_replace' {} \; > rem01.txt find ./images/ -name '*.php' > rem02.txt find . -name '*.php' -exec grep -l 'preg_replace("/\.\*/e","' {} \; > rem03.txt find . -name '*.php' -exec grep -l 'eval (base64_decode($_POST["php"]));' {} \; > rem04.txt find . -name '.htaccess' -exec grep -l 'android|midp|j2me|symbian|series' {} \; > rem05.txt find . -name '.htaccess' -exec grep -l 'google|ask|yahoo' {} \; >> rem05.txt find . -name '*.php' -exec grep -l 'if(@md5($_POST\["gif"\])' {} \; > rem06.txt find . -name 'index.php' -exec grep -l '$_REQUEST\[.*\]; eval' {} \; > rem07.txt find . -name '*.php' -exec grep -l '&& function_exists("getmxrr"))' {} \; > rem08.txt find . -name '*.php' -exec grep -l '<br/>Security Code: <br/><input name="security_code" value=""/>' {} \; > rem09.txt find . -name '*.php' -exec grep -l 'ncode(print_r(array(),1)),5,1).c),$c);}eval($d);' {} \; > rem10.txt find . -name 'index.html' -exec grep -l '<META HTTP-EQUIV="Refresh" CONTENT="0; ' {} \; > rem11.txt find . -name '*.php' -exec grep -l '= array("Google", "Slurp", "MSNBot"' {} \; > rem12.txt find . -name 'index_backup.php' > rem13.txt find . -name '*.jpg' -exec grep -l 'eval(base64' {} \; > rfix_jpg.txtЧто нужно сделать:
- создайть файл find_shell.sh в директории сайта, скопируйте в него приведенный выше код
- зайти на хостинг по ssh, перейти в директорию сайта
- запустить скрипт командой sh find_shell.sh
- в результате будут созданы файлы вида remXX.txt. Пустые можно удалить (значит шелла с данной сигнатурой у вас нет), а в непустых замените "./" на "rm -f ./"
- проверьте список файлов в remXX.txt, может что-то из этого не стоит удалять? Например, вы могли разместить в каталоге "images" joomla какой-то свой скрипт, наподобие наложения watermark'а на фотографию
- выполните команды
sh rem1.txt sh rem2.txt ...
для каждого оставшегося remXX.txt файла - в файле rfix_jpg.txt будут JPG файлы, у которых в метаданных шелл. Их тоже надо почистить (либо через графический редактор, либо можно просто заменить в файле "eval" на "love" :)
- теперь проверьте сайт скриптом AI-BOLIT на оставшийся вредоносный код.
<?php system("find . -name '*.php' -exec grep -l '$msg=@gzinflate(@base64_decode(@str_replace' {} \; > rem01.txt"); ...Чтобы удалить файлы, нужно списки из remXX.txt файлов
./mysite.org/docs/wp-conf.php ./mysite.org/docs/w16651143n.php ./mysite.org/docs/w16655549n.php ./mysite.org/docs/tmplist.php ...превратить в
<?php unlink('./mysite.org/docs/wp-conf.php'); unlink('./mysite.org/docs/w16651143n.php'); unlink('./mysite.org/docs/w16655549n.php'); unlink('./mysite.org/docs/tmplist.php'); ...переименовать расширение в .php и открыть в браузере.
А кто боится чистить сайт самостоятельно, обращайтесь к нам в Revisium, быстро вылечим сайт и поставим защиту. Потому что нужно не только чистить результаты взлома, но и закрывать уязвимости, через которые сайт был взломан.