Burp Suite Intruder — подробное руководство
Burp Suite Intruder — это настраиваемый инструмент для автоматизированных атак в составе Burp Suite. В этой статье пошагово объяснены вкладки Target, Positions, Payloads и Options, приведены практические шаблоны, чеклисты и рекомендации по безопасному использованию во время тестирования веб-приложений
Введение

Burp Suite — мощный набор инструментов от PortSwigger для тестирования безопасности веб-приложений. В состав Burp входит модуль Intruder, предназначенный для автоматизации специальных атак при пентестинге и программе bug bounty. Intruder гибок и настраиваем, поэтому его можно использовать для широкого круга задач при тестировании приложений
Краткое определение: Intruder — модуль Burp Suite для автоматизированной подстановки payloads в выбранные позиции HTTP запросов
Важно: всегда выполняйте тестирование только с явного разрешения владельца целевой системы
Как работает Intruder — общая схема
Intruder проходит следующие шаги при запуске атаки
- Выбор целевого хоста и порта в вкладке Target
- Определение позиций в HTTP запросе во вкладке Positions
- Настройка наборов payloads во вкладке Payloads
- Параметры исполнения и сбора результатов во вкладке Options
Каждую из этих ступеней можно тонко настраивать для экономии времени и повышения релевантности результатов
Вкладка Target в Intruder

В Target задаются хост и порт целевого приложения а также опции по умолчанию для запросов. В поле Payload Positions можно указать исходный шаблон запроса и позиции для подстановки payloads
Совет: сначала делайте один или несколько пробных запросов вручную в Repeater и сохраняйте корректный шаблон запроса перед массовой подстановкой
Вкладка Positions
В Positions вы видите шаблон запроса и отмечаете маркерами те параметры которые будут целиться. Здесь же выбирается тип атаки
Типы атак
- Sniper
- Использует один параметр за раз. Удобен для поиска уязвимостей в одиночных параметрах
- Battering ram
- Применяет один и тот же вектор ко всем отмеченным позициям. Подходит когда одинаковая проверка применяется ко всем полям
- Pitchfork
- Позволяет задать несколько списков payloads и итерировать их параллельно по элементам
- Cluster bomb
- Перебирает все комбинации между несколькими списками payloads. Генерирует большое число запросов и требует осторожности

Кнопки управления позициями
- Clear — убрать выделение с выбранной позиции
- Add — добавить новую позицию
- Auto — автоматически выделить все возможные поля или вернуть исходное состояние

Практическая хитрость: используйте Auto чтобы быстро отметить все поля, затем вручную снимите те, которые не релевантны
Вкладка Payloads

Payloads в Intruder это по сути словари или наборы значений которые подставляются в отмеченные позиции. Количество наборов зависит от выбранного типа атаки
Способы формирования наборов payloads
- Загрузка готового wordlist через Load
- Ввод значений вручную
- Комбинация разных форматов для разных параметров, например численные выражения для одного поля и сложные строковые нагрузки для другого
Обработка payloads

Payload Processing позволяет применять к каждому значению правила и фильтры. Примеры правил
- Prefix или Suffix — автоматическое добавление префиксов или суффиксов
- Encoding/Decoding — кодирование в URL, Base64 или обратное декодирование
- Skip rules — пропуск значений по совпадению с регулярным выражением
Использование правил упрощает подготовку сложных наборов и сокращает ручную работу
Кодирование payloads

Payload Encoding задаёт какие символы следует кодировать при формировании HTTP запроса. Это полезно когда payload содержит символы которые могут быть восприняты как часть URL или заголовков
Пример: амперсанд &, звездочка *, двоеточие : и точка с запятой ; часто требуют URL кодирования при передаче как часть параметра
Вкладка Options
Options управляет заголовками запросов, поведением при ошибках, сбором результатов и GREP правилами
Request Headers

Здесь можно вручную задать или скорректировать заголовки которые Intruder будет отправлять. Особое внимание стоит уделить Content-Length
Важно: если Content-Length неверный сервер может вернуть ошибку или обрезать тело запроса
Параметр Set-Connection позволяет управлять окончанием соединения. Если опция активирована, после запроса соединение закрывается что может ускорить цепочку запросов на некоторых серверах
Обработка ошибок

Раздел Error Handling задаёт поведение движка при ошибках сети или сервера. Настройки включают количество повторов, паузы при ошибке и общее ограничение по времени. Правильные параметры защищают тестируемую систему от излишней нагрузки
Результаты атаки

Опции Attack Results определяют что сохраняется в логах
- Store requests/responses — сохранять содержимое запросов и ответов
- Make unmodified baseline request — сохранить эталонный запрос без подстановок для сравнения
- Use denial-of-service mode — ускоренный режим который может нагрузить сервер, использовать с осторожностью
- Store full payloads — сохранять точные payload значения, требует дискового пространства
Рекомендация: для начальных проходов включайте Make unmodified baseline request и Store requests/responses только при необходимости
Grep — Match, Extract, Payloads

Grep позволяет автоматически отмечать результаты по наличию текста или регулярных выражений в ответе
Параметры
- Match type — текст или регулярное выражение
- Case-sensitive match — учитывать регистр или нет
- Exclude HTTP header — исключать или включать заголовки в проверку
Примеры использования
- Отслеживать фразы типа «некорректный пароль» и «успешный вход» при тестах на подбор пароля
- Извлекать токены из ответов для последующего использования
Когда Intruder стоит использовать и когда нет
Когда подходит
- Подбор значений параметров и исследование контрольных механизмов сервера
- Массовая проверка на инъекции, XSS, SQLi при корректной настройке payloads
- Автоматизация однотипных операций при пентесте
Когда не подходит
- Для тонкого анализа цепочек авторизации лучше использовать Burp Repeater или Extender
- Для частого перебора всех комбинаций Cluster bomb может быть чрезмерно тяжёлым и вредным для целевых систем
Контрпример: если цель — исследовать сложную бизнес логику с несколькими шагами и зависимостями между запросами, Intruder может создавать невалидные последовательности. Лучше комбинировать с Repeater и макросами
Альтернативы и сопутствующие инструменты
- Burp Repeater — ручное итеративное тестирование отдельных запросов
- Burp Scanner — автоматическое сканирование целого приложения с набором проверок
- wfuzz, ffuf — инструментальные решения для перебора URL и параметров из командной строки
Выбор зависит от масштаба задачи и доступных ресурсов
Ментальные модели для настройки Intruder
- Разделяй и властвуй — сначала разбей задачу на простые подзадачи с небольшими наборами payloads
- Минимально достаточная нагрузка — начинай с небольших наборов и низкой скорости
- Эталон для сравнения — всегда делай baseline request чтобы иметь точку отсчёта
Роль‑ориентированные чеклисты
Чеклист для инженера по безопасности
- Получено письменное разрешение на тестирование
- Сделан baseline request
- Настроены Grep правила для быстрой фильтрации результатов
- Включено логирование при необходимости
Чеклист для тестировщика приложений
- Проверить корректность Content-Length
- Настроить timeout и retries
- Пробежаться по малым наборам payloads перед полноценным запуском
Пошаговый SOP для типовой проверки параметра на инъекции
- Снять запрос в Proxy и переслать в Intruder
- На вкладке Positions отметить лишь целевой параметр
- Выбрать Sniper
- В Payloads загрузить wordlist с полезными паттернами
- В Payload Processing добавить декодирование и добавление префикса если нужно
- В Options включить Make unmodified baseline request и настроить Grep на ошибки сервера
- Запустить атаку на минимальной скорости
- Проанализировать совпадения и сохранить результаты
- Повторить с более глубокими payloads если есть признаки уязвимости
Инцидентный план и откат действий при проблемах
Если во время теста сервер начал проявлять признаки деградации
- Немедленно остановить атаку
- Сообщить ответственному за инфраструктуру о характере теста и времени проведения
- Предоставить логи baseline и последних запросов
- При необходимости восстановить состояние с помощью бэкапов и повторить тест в щадящем режиме
Критерии приёмки
- Все тестовые запросы выполнены с разрешения
- Нет длительных сбоев в работе целевого сервиса после тестов
- Уязвимости воспроизводимы и задокументированы
Тестовые примеры и критерии приёмки
Примеры тестов
- Подбор логина и пароля с Grep поиском признаков успешного входа
- Проверка на SQL инъекцию с набором базовых payloads
- Тест на XSS с payloads для разных контекстов (attribute, html body)
Критерии приёмки
- Уязвимость подтверждена повторяемым ответом сервера
- В отчёте прописан PoC запрос и шаги для воспроизведения
- Риск классифицирован по уровню воздействия и вероятности
Безопасность и приватность при работе с Intruder
- Не сохраняйте реальные пользовательские пароли и персональные данные в wordlists
- При сборе ответов отключайте Store full payloads если в них могут попасть чувствительные данные
- Документируйте запросы и обеспечьте защищённое хранение результатов теста
Примечание по соответствию GDPR
Если в процессе теста вы обрабатываете персональные данные граждан ЕС, убедитесь что тестирование санкционировано и что данные обрабатываются в соответствии с обязанностями по безопасности и минимизации объёма данных
Шпаргалка по частым задачам
- Быстрый поиск ошибок ввода: Sniper + компактный wordlist
- Проверка нескольких полей с теми же валидаторами: Battering ram
- Параллельная подстановка разных наборов: Pitchfork
- Комбинационный перебор для сложных зависимостей: Cluster bomb с ограничением по объёму
Decision tree для выбора типа атаки
flowchart TD
A[Начало] --> B{Сколько параметров целим}
B --> |1| C[Sniper]
B --> |>1| D{Одинаковые ли векторы для всех полей}
D --> |Да| E[Battering ram]
D --> |Нет| F{Нужно ли синхронно итерировать наборы}
F --> |Да| G[Pitchfork]
F --> |Нет| H[Cluster bomb]
C --> I[Настроить payloads]
E --> I
G --> I
H --> IГлоссарий в одну строку
- Baseline request — эталонный запрос без подстановок для сравнения
- Payload — значение которое подставляется в отмеченную позицию
- Grep — механизм поиска по телу ответа
- Sniper, Pitchfork, Cluster bomb — типы атак в Intruder
Заключение
Burp Suite Intruder остаётся одним из самых гибких инструментов для автоматизации атак при тестировании веб‑приложений. При правильной настройке он экономит время и помогает быстро выявлять уязвимости. Главное соблюдать осторожность, получать разрешение на тестирование и использовать щадящие параметры нагрузки при тестировании боевых систем
Ключевые шаги для безопасного и эффективного использования
- Подготовьте эталонный запрос
- Выберите тип атаки согласно задаче
- Настройте payloads и правила обработки
- Включите Grep и минимизируйте нагрузку на сервер
Важно: комбинируйте Intruder с другими инструментами Burp и ручным анализом чтобы получить полную картину безопасности приложения