Сканування
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?
Якщо докази непевні, зменште рівень упевненості або збережіть результат як нотатку до підтвердження.