Автоматизация
Раздел «Автоматизация» (Automate) многократно отправляет один шаблон запроса с управляемым изменением тестовых данных, позволяя перебирать параметры, выполнять фаззинг ввода или массово проверять контроль доступа.
Создание сессии
- Откройте запрос в разделе История HTTP или Повторная отправка.
- Нажмите запрос правой кнопкой и выберите Отправить на автоматизацию или используйте кнопку панели.
- Запрос откроется как шаблон сессии. Все дальнейшие настройки применяются к нему.
Позиции подстановки
Позиции отмечают места вставки тестовых данных. Ogma заменяет каждый маркер значением в каждом запросе.
- Выделите текст в редакторе и нажмите Отметить, чтобы добавить маркер позиции.
- Для удаления нажмите маркер и выберите Удалить.
- Поддерживаются несколько позиций. Их поведение зависит от режима атаки.
Режимы атаки
| Режим | Поведение |
|---|---|
| Sniper | По одной позиции. Поочерёдно перебирает все значения в каждой позиции. Число запросов равно числу значений, умноженному на число позиций. |
| Battering Ram | Одновременно использует одно значение во всех позициях. |
| Pitchfork | Параллельно перебирает несколько позиций. Сочетает первое значение списка A с первым значением списка B и так далее. Останавливается при исчерпании самого короткого списка. |
| Cluster Bomb | Все сочетания во всех позициях. Число запросов равно произведению длин списков. Используйте небольшие списки. |
| Sequential | Извлекает заданное значение из каждого ответа и вставляет его в следующий запрос. Перед запуском настройте извлечение, целевую позицию и предел итераций. |
Источники тестовых данных
| Источник | Описание |
|---|---|
| Словарь | Загрузите файл со значениями по одному на строку или вставьте их напрямую. |
| Числа | Создайте числовой диапазон с заданными началом, концом и шагом. |
| Null | Заменяет позицию пустой строкой заданное число итераций; исходный отмеченный текст не сохраняется. |
| Свой список | Введите значения прямо в интерфейсе без файла. |
Условия совпадения
Условия совпадения отмечают строки результатов, соответствующие условию. Они не фильтруют строки, а добавляют логический столбец для каждого условия.
- Добавьте условие кнопкой + Правило проверки.
- Опишите его обычным языком через Помощь ИИ или настройте вручную.
| Тип условия | Когда совпадает |
|---|---|
| Статус | Код ответа равен заданному значению или отличается от него. |
| Размер | Длина тела ответа попадает в заданный диапазон. |
| Содержимое тела | Тело содержит строку или соответствует строке либо регулярному выражению. |
Условия остановки
Условие остановки прекращает запуск при срабатывании условия совпадения.
- Настройте Условие остановки с использованием статуса или размера ответа, оператора сравнения и значения.
- Подходящий результат приостанавливает запуск; уже отправленные запросы могут завершиться.
Это полезно, когда нужен только первый успешный результат, например действительные учётные данные или обход проверки.
Извлечение значений
Правила извлечения получают значение из каждого ответа и сохраняют его в именованный столбец.
- Извлекайте CSRF-токены, ID сессий или nonce для цепочек запросов.
- Опишите цель через Помощь ИИ или вручную настройте Body Regex, Body Grep либо извлечение заголовка ответа.
- Извлечённые значения появляются в столбцах таблицы результатов.
- Для последовательного режима явно настройте правило извлечения для цепочки; отправка результата в другую сессию не настраивает извлечение токенов для неё автоматически.
Таблица результатов
Каждый завершённый запрос создаёт одну строку.
| Столбец | Описание |
|---|---|
| # | Порядковый номер запроса. |
| Статус | Код HTTP-ответа. |
| Размер | Длина тела ответа в байтах. |
| Время | Время обмена в миллисекундах. |
| Тестовые данные | Значения, использованные в запросе. |
| Столбцы совпадений | Один логический столбец на каждое условие. |
| Столбцы извлечения | Один столбец извлечённого значения на каждое правило. |
Нажмите строку, чтобы открыть полный запрос и ответ на панели просмотра.
Фильтрация результатов
Введите выражение HTTPQL в строку Фильтр над таблицей, чтобы сузить отображаемые строки. Пример:
text
result.status.eq:200 AND result.len.gt:500Запросы Automate используют пространство имён result.*. Для извлечённого столбца используйте поле result.extract.<name>. Поля req.* и resp.* истории HTTP не взаимозаменяемы с фильтрами результатов Automate.
Помощь ИИ
Кнопка Помощь ИИ расположена рядом с настройками совпадения и извлечения. Опишите обычным языком, что хотите обнаружить или извлечь. Ogma создаст настройки. Проверьте их перед сохранением.
Передача результата в другие инструменты
Нажмите строку результата правой кнопкой, чтобы:
- Отправить на повторную отправку — открыть конкретный запрос и ответ для дальнейшей ручной проверки.
- Отправить в автоматизацию (новая сессия) — использовать запрос строки как шаблон новой сессии.
- Копировать как curl — скопировать запрос в виде команды curl.