Сканирование
Ogma включает пассивные и активные сканеры. Пассивное сканирование анализирует записанный трафик. Активное отправляет изменённые запросы и проверяет результаты по поведению ответа, времени, отражению и сравнению с базовым ответом.
Пассивный сканер
Пассивный сканер анализирует сохранённые HTTP-записи, не отправляя новый трафик.
Он обнаруживает, например:
- Раскрытие ошибок SQL, NoSQL, LDAP, шаблонов, десериализации и XML.
- Отсутствующие или слабые защитные заголовки.
- Проблемы флагов cookie.
- Ошибки настройки CORS.
- Раскрытые секреты, закрытые ключи, данные сервисных учётных записей, вебхуки и токены.
- Доступные данные систем контроля версий, конфигурации, документацию API и конфиденциальные файлы.
- Проблемы JWT: алгоритм
none, длительный срок действия и использование HMAC. - Медленные ответы и опасные HTTP-методы.
Пассивные результаты полезны для первичной обработки, но требуют проверки. Проблемы заголовков и политик часто зависят от контекста приложения.
Запуск пассивного анализа
- Запишите трафик.
- Откройте Утилиты > Сканер.
- Выберите Пассивный сканер.
- Нажмите Сканировать всю историю.
- Изучите созданные записи в разделе Находки.
Свои пассивные правила задаются в Настройки > Сканер.
Активный сканер
Активный сканер внедряет тестовые данные в подходящие места запроса и проверяет ответ цели.
Реализованные семейства проверок:
| Проверка | Подтверждение |
|---|---|
| SQL-инъекция | SQL-ошибки или повторяемая задержка выше измеренного базового уровня для временных проб. |
| Отражённый XSS | Отражение тестовых данных в HTML-ответе без ожидаемого кодирования. |
| Обход каталогов / LFI | Индикаторы содержимого файла, отсутствующие в базовом ответе. |
| Инъекция команд ОС | Вывод команды или повторяемая задержка выше базового уровня для временных проб. |
| SSTI | Детерминированные математические выражения шаблонов и вычисленный результат в ответе. |
| SSRF | Доказательства метаданных или баннера сервиса из внедрённого URL. |
| Открытое перенаправление | Ответ перенаправления на внедрённый внешний домен. |
Сканер намеренно не считает обычный ответ 200 OK доказательством уязвимости.
Проверки-заглушки
Список активных проверок может включать проверки, помеченные как заглушки. Они отображаются, чтобы показать планы развития, но не создают результаты проверки безопасности. В текущей серверной реализации XXE и небезопасная загрузка файлов не подтверждаются автоматически без внеполосной проверки или проверки, учитывающей особенности приложения.
Активное сканирование всего трафика
Активно сканировать всё проверяет недавние запросы, внедряя данные в:
- Параметры URL.
- Параметры тела формы.
- Значения JSON.
- Сегменты пути.
- Выбранные заголовки при включении.
Перед активным сканированием задайте область, чтобы сосредоточить трафик и результаты.
Рекомендуемый сценарий:
- Задайте и активируйте область.
- Запишите характерный трафик цели.
- Начните с пассивного анализа.
- Запустите активные проверки отдельных запросов перед Активно сканировать всё.
- Изучите доказательные запросы и ответы в результатах.
- Удалите ложные срабатывания вместо передачи необработанного вывода сканера.
Качество доказательств
Качественный результат сканера отвечает на вопросы:
- Какой параметр или ввод проверялся?
- Какие тестовые данные использовались?
- Что изменилось в ответе?
- Отсутствовало ли это поведение в базовом ответе?
- Повторяется ли проблема?
- Есть ли привязанные доказательства в Ogma?
Если доказательства неоднозначны, снизьте уровень уверенности или сохраните результат как заметку до подтверждения.