/simple-virus-scanner

PHP file scanner for known virus patterns of simple viruses for Bitrix, WordPress and Joomla

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

simple virus scanner

PHP file scanner for known virus patterns of simple viruses for Bitrix, WordPress and Joomla

Надеюсь, этот сканер поможет людям разобраться хотя бы с простыми вирусами на их сайтах! Для запуска достаточно закачать его к себе на хостинг и запустить. Так как он ничего не лечит, ничего никуда не отправляет и не пишет на диск, можно не бояться, что он что-то поломает.

Это очень простой сканер

  • Здесь нет сложной эвристики, используются простые regexp-ы по нескольким известным паттернам вирусов
  • Сканер ничего не лечит, только выдаёт предупреждения согласно своей системе оценки
  • Сканер может выдавать предупреждения по вполне нормальным файлам.

Оценивать реальную опасность/зараженность должен грамотный специалист. Лечить зараженные файлы всё равно придётся вручную.

Сканер работает как из веб, так и из командой строки

Для командной строки можно использовать ключи:

--html - выдавать отчёт в html (по умолчанию для командной строки - plain text)

--root=<путь в кавычках> - начальная директория для сканирования

--nosort - не сортировать результаты по оценке опасности (останется сортировка по пути, что иногда удобнее)

--m=<число> - минимальная оценка опасности, при которой объект попадёт в отчёт (по умолчанию m=6)

Пример: > php svs.php --html --m=25 --nosort

Аналогичго можно использовать параметры в URL для веб:

plaintext - выдавать отчёт в plain text nosort - не сортировать результаты по оценке опасности (останется сортировка по пути, что иногда удобнее) m=<число> - минимальная оценка опасности, при которой объект попадёт в отчёт (по умолчанию m=6)

Пример: http://site/svs.php?plaintext&m=25&nosort

Константы

В начале кода заведены константы, которыми можно подстроить :

define('SVS_FILE_EXTENSIONS', "php,inc"); - анализируемые расширения

define('SVS_FORBIDDEN_DIRS', "img,images,upload,tmp,assets"); - директории, в которых не должно быть php-файлов или include файлов оттуда

define('SVS_MAX_FILESIZE', 2100000); - максимальный размер анализируемого файла

Screenshot

Вирусы для дальнейшего исследования

Файл с образцами вирусных файлов - /docs/virus-files.zip, пароль на архив - svs