СКАНЕР УЯЗВИМОСТЕЙ | Nuclei
Nuclei — это мощный инструмент для автоматизации поиска уязвимостей и выполнения сканирования безопасности веб-приложений. Он поддерживает использование как встроенных шаблонов (templates), так и пользовательских (кастомных).
Сегодня я вам буду рассказывать как пользоваться кастомными шаблонами
Nuclei есть на Windows, но в этой статье я буду использовать Linux
Установка:
wget -q https://github.com/projectdiscovery/nuclei/releases/download/v3.3.8/nuclei_3.3.8_linux_amd64.zip
Чтобы проверить версию nuclei вводим
nuclei -version
nuclei -u https://example.com -t /path/to/templates
-t указывает путь к каталогу с темплейтами
Создание кастомного темплейта:
Темплейт представляет собой файл .yaml, который описывает, какие запросы нужно отправить к целевому URL, а также как интерпретировать ответы.
Пример простого темплейта для проверки наличия SQL-инъекции:
id: sql-injection-detection
info:
name: SQL Injection Detection
author: your_name_here
severity: high
requests:
- method: GET
path:
- "{{BaseURL}}/vulnerable.php?id=1"
- "{{BaseURL}}/vulnerable.php?id=2'"
matchers:
- type: status
status:
- 200 Id - Уникальный идентификатор шаблона
ВАЖНО! Для каждого шаблона обязательны поля name, author, severity
Requests - Запрос для взаимодействия с веб-приложением
Вместо ссылки я указал {{BaseURL}} — это динамические переменные, которые могут быть помещены в путь, чтобы изменить его поведение во время выполнения. Все динамические переменные можно найти на официальном сайте
Matchers - Проверки для определения соответствия ответов на запросы
Например переменная status нужна для проверки ответа по статусу ответа
Сохранение темплейта:
Сохраните созданный темплейт в файл с расширением .yaml.
Например, можно назвать его sql-injection.yaml.
Когда вы запускаете Nuclei, укажите путь до папки с вашими кастомными темплейтами с помощью флага -t
nuclei -u https://example.com -t /path/to/custom/templates/