![]() |
Файлчекер (FileChecker) скрипт мониторинга файлов сайта
Что? Скрит для выявления изменений файлов на сайте
Для чего? Мониторинг хакерской деятельности, загружаемых и изменяемых файлов, система предупреждений изменений при совместной работе Системные требования: php 4 и выше, желательно - cron или другой планировщик для периодического запуска Установка: 15 минут, сложность - низкая Известные баги: в редких ситуациях и при большом объеме сайта возможна ошибка памяти. Воспроизвести не удалось (возможно - ошибка сервера) Описание: Скрипт сканирует все файлы и папки ниже той папки, где находится сам и позволяет получать следующую информацию: + список новых файлов + список старых и удаленных файлов + суммарное количество файлов + суммарное количество папок + суммарный объем файлов В скрипте можно указать файлы, которые не нужно контролировать. Результаты работы могут быть выведены непосредственно в браузер или отосланы на один или несколько e-mail. При ежедневном (или даже - ежечасном) запуске скрипт может применяться для отслеживания как несанкционированных изменений файлов хакерами (модификация файлов и загрузка шелла), так и активности работы с файлами пользователей (закачка аватар, файлов, изображений) или программистов (модификация файлов). Применение этого скрипта на разных сайтах позволило пресечь несколько реальных хакерских атак на начальном этапе. Новые файлы отображаются в виде ссылок, щелкнув по которой вы можете просмотреть файл.В качестве дополнительной информации выводится суммарный объем и количесство файлов на сайте. Дополнительные возможности, планируемые в следующей версии: +запуск скрипта по паролю +запись md5-хешей файлов +шифрование списка файлов +ведение истории изменений файлов и папок http://depositfiles.com/files/oqr3fe1e4 |
TreV@N 1) Что мешает использовать touch -acfm и для сохранения веса файла - удалить пару тройку пробелов и переводов строк? (благо минимальный шел 19 символов).
2) Так как файл листа создается от имени апача - ничто не мешает его "исправить". 3) Следует из первого: например редактируя .htaccess в IPB - можно сделать вместо защиты от исполнения файлов - запуск с произвольным расширением (AddType application/x-httpd-php .gif) Заливай шеллы - в любом количестве З.Ы. Почему set_time_limit(0); нету? |
Цитата:
|
Цитата:
считайт, что потёрто... |
hash(123) != hash(231)
|
ChaaK Kaimi Отсутствие хэша равно отсутствию хэша (можете считать теоремой), ибо в данной версии проверяется только размер файла и время модификации. Опять таки - изменение файл-листа обходит и это.
Ru}{eeZ @eval($_POST['a']); - 19 символов, <??> - не нужны ибо мы дописываем в файл. system - не дает всех возможностей пхп, плюс - обычно заблокирован |
Цитата:
Если не афишировать такую защиту, то велика вероятность, что чужак ее не заметит и не будет ничего править. Либо не будет иметь достаточно прав, чтобы это сделать. Те три раза, когда скрипт реально предупреждал о взломе - так и было. Поэтому новый файл (обычно - шелл) как правило, благополучно обнаруживается. Так что от кидисов защита достаточно эффективна даже в таком виде (при условии, что все настроено и админ периодически проверяет почту). Если же думать в сторону защиты, то я предполагал в следующей версии сравнивать и хранить md5 хеши файлов. Пустой файл листа можно закачать самому - от имени ftp юзера, а не апача. По поводу 3: если у вас уже есть такой доступ, то сайт ваш Но если вы не обратите внимание на такую защиту - то ненадолго. В принципе, в свое время (когда еженедельно появлялись дыры в phpBB) этот скрипт меня очень выручал, но сейчас я не знаю, стоит ли делать следующую версию (с md5 и тп) - надежнее написать скрипт с использованием md5sum, что я и собираюсь сделать как только дойдут руки. А вообще - спасибо, особенно за set_time_limit(0) - пару лет назад я этого не знал , потому и не использовал. |
| Время: 06:01 |