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)
Пример: https://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); - максимальный размер анализируемого файла
Файл с образцами вирусных файлов - /docs/virus-files.zip, пароль на архив - svs