anti iframer
Достался мне похаканый сайтик на joomla, который был жестоко проифрэймлен. Симптомы такие, во всех папках до 3-го уровня вложенности, где есть один из файлов index.html, index.php, default.php добавлен .htaccess и втсавлены iframe в эти файлы. Пришлось писать “удалятор” этих пакостей. Т.к. это joomal то index.html используются лишь для того, чтобы запретить просмотр содержимого каталогов на сайте, то их я просто очищаю, а из остальных пришлось гадость вырезать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php function fixIframe($directory, $level, $day) { if ($handle = opendir($directory)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($directory. "/" . $file)) { if($level > 0) { fixIframe($directory. "/" . $file, $level - 1, $day); } } else { $path = $directory . "/" . $file; if (date("mdYH", filemtime($path)) == $day){ switch($file){ case ".htaccess":@unlink($path);break; case "index.html":copy($path,$path.".bak");$f=fopen($path,"w");fclose($f);break; case "index.php": case "default.php":copy($path,$path.".bak"); $content = file_get_contents($path); file_put_contents($path,preg_replace("#(.*?)(<\\?php echo '<\\?eval\\(base64_decod.*?\\);\\?>'; \\?>)(.*)#","\\1\\3",$content)); break; } } } } } closedir($handle); } } fixIframe("./", 3, '0828200905'); ?> |
0828200905 – это день атаки, что мне показалось неожиданным, так это то, что процесс записи этого вредоносного кода занял несколько часов.