Skip to content

Всё для WordPress, веб-разработки — и не только

🧪 Burp Suite: веб-сканер и краулер для пентеста

🧪 Burp Suite: веб-сканер и краулер для пентеста

Пентестер заходит на незнакомый сайт и видит только фасад. Настоящие уязвимости, SQL-инъекции, XSS, path traversal, прячутся в глубине: скрытых директориях, забытых эндпоинтах, неочевидных параметрах запросов. Ручной обход съедает часы. Автоматический, без правильного инструмента, либо пропускает критические точки входа, либо кладёт приложение лавиной запросов.

Burp Suite Professional решает эту задачу связкой «краулер + сканер». Один проход, и у вас карта приложения, а каждая страница проверена на десятки классов уязвимостей. Всё в одном окне, без скриптов и командной строки.

Это руководство, пошаговый разбор краулера и сканера Burp Suite: от базового обхода до тонкой настройки аудита. Скриншоты актуальны для версий 2024+, логика не менялась с Burp 2.0. Разберём Crawl, Audit и комбинированный режим Crawl and Audit.

💡 Быстрый обзор:

  • Запускаете базовое сканирование краулером: вкладка Dashboard, New Scan, Crawl, получаете карту сайта в Target.
  • Настраиваете краулер под задачу: исключаете URL вне скоупа, добавляете учётные данные, регулируете пул запросов.
  • Переходите к аудиту: Audit Selected Items на любом URL из карты, Burp сам находит уязвимости и раскладывает их по severity.
  • Комбинируете Crawl + Audit для сквозного теста: краулер обходит сайт, сканер тут же проверяет каждую найденную страницу.
  • Завершаете анализ изучением Advisory: payload, запрос/ответ, CVSS и шаги по исправлению.

Что такое веб-краулер в Burp Suite

Веб-краулер (он же паук, spider), механизм, который обходит веб-приложение: переходит по ссылкам, отправляет формы и логинится в защищённые разделы. Результат, древовидная карта сайта (site map) на вкладке Target, где каждый URL снабжён HTTP-методами и параметрами запросов.

До версии 1.7 в Burp Suite использовался Spider, отдельный инструмент со своей вкладкой. Начиная с Burp 2.0, PortSwigger заменил его на Crawler, встроенный прямо в Dashboard. Все автоматические действия, обход, аудит, логирование, собраны в одном окне. Управление: пауза/возобновление по каждой задаче отдельно.

По сути краулер делает то же, что и DirBuster или Dirb: перебирает директории, фиксирует скрытые URL. Но, в отличие от них, Burp Crawler анализирует контент страниц, исполняет JavaScript (если включён анализ) и понимает навигационную логику приложения. DirBuster и Dirb тупо брутфорсят по словарю. Crawler строит граф приложения.

Запуск краулера: базовое сканирование

Откройте Burp Suite и переключитесь на вкладку Dashboard. Панель разделена на четыре зоны:

  • Tasks, все запущенные обходы и сканирования. Отсюда можно ставить на паузу, возобновлять и смотреть детализацию каждой задачи.
  • Event log, события Burp Suite: запуск прокси, сбои модулей, завершение сканирования.
  • Issue activity, найденные уязвимости с фильтрацией по severity и типу.
  • Advisories, развёрнутая карточка выбранной уязвимости: payload, запрос/ответ и CVSS.

Нажмите кнопку New Scan в верхней части секции Tasks.

Кнопка New Scan на панели Dashboard Burp Suite

Появится всплывающее окно New Scan с двумя вариантами:

  • Crawl and audit, обход + аудит в одном запуске;
  • Crawl, только обход.

Для первого знакомства выберите Crawl. Введите тестовый URL, например http://testphp.vulnweb.com, и нажмите OK.

Окно New Scan с выбором режима Crawl и полем URL

Окно закроется. На Dashboard в Tasks появится новая задача, «Crawl testphp.vulnweb.com». Event log подтвердит событие «Crawl started».

Задача сканирования в Dashboard и событие запуска в Event log

Через пару минут задача завершится. Результат ищите на вкладке Target, краулер выгружает карту сайта именно туда, в виде дерева URL.

Карта сайта на вкладке Target после завершения обхода краулером

На правой панели каждый URL снабжён HTTP-методами и колонкой Parameters. Именно параметры указывают на точки ввода, потенциально уязвимые для инъекций. Дважды кликните заголовок колонки Parameters, URL с параметрами поднимутся наверх.

Колонка Parameters на вкладке Target для поиска точек ввода

Левую панель Target занимает дерево сайта, кликабельное и с вложенностью URL. Выберите любую директорию, правая панель тут же покажет её методы и параметры.

Дерево URL на левой панели вкладки Target с выбором директории

Тонкая настройка краулера

Базового обхода достаточно для простых сайтов. Но реальное приложение сложнее: часть страниц, вне скоупа, закрытые разделы требуют авторизации, а нежное приложение не выдерживает десятков одновременных запросов.

Возвращаемся на Dashboard, снова жмём New Scan, но теперь не спешим с OK. Настраиваем.

Исключение URL вне скоупа

В секции Scan details найдите Detailed scope configuration. Перейдите в Excluded URL prefixes и добавьте URL, который не должен попасть в обход, например http://testphp.vulnweb.com/signup.php.

Поле Excluded URL prefixes в настройках скоупа сканирования

Создание пользовательской конфигурации

Перейдите в Scan configuration и нажмите кнопку New.

Кнопка New в разделе Scan configuration для создания профиля

Откроется окно с параметрами. Имя конфигурации можно оставить по умолчанию. Ключевой параметр, Crawl optimization: ползунок от «Fastest» до «Deepest» определяет, насколько глубоко краулер заходит в приложение. Для боевого теста выставляйте ближе к Deepest, для быстрой разведки, к Fastest.

Ползунок Crawl optimization от Fastest до Deepest

Ограничения по времени и количеству страниц задаются здесь же. Разумные значения для среднего приложения: Maximum crawl time, 50 минут, Maximum unique locations discovered, 5000.

Настройки лимитов краулера: время и количество уникальных страниц

Учётные данные для закрытых разделов

Если приложение требует логина, отметьте чекбоксы Log in to user registration portals и Log in using invalid credentials. Краулер попытается зарегистрироваться со случайными данными или ввести заведомо неверные учётные данные, чтобы увидеть поведение сайта при неудачной аутентификации.

Чекбоксы авторизации краулера для порталов регистрации и логина

Жмём Save, конфигурация появляется в выпадающем списке Scan configuration.

Сохранённая конфигурация краулера в списке выбора

Теперь добавим настоящие учётные данные, они пригодятся, если краулер наткнётся на админ-портал или закрытый раздел. Перейдите в секцию Application login и нажмите Create.

Секция Application login для добавления учётных данных краулеру

Введите логин и пароль, нажмите OK.

Окно ввода учётных данных для авторизации краулера

Пул ресурсов и одновременные запросы

Секция Resource pool управляет тем, сколько одновременных запросов краулер посылает приложению и с какой задержкой. Для хрупкого приложения уменьшите количество потоков и увеличьте задержку. Для демо-стенда оставляем значения по умолчанию.

Настройки Resource pool: количество потоков и задержка между запросами

Нажимаем OK, краулер стартует с заданной конфигурацией. Отслеживаем прогресс на Dashboard.

Dashboard с запущенной задачей краулера после настройки

После завершения переходим на вкладку Target. Страница signup.php в карте сайта отсутствует, excluded prefix отработал как надо.

Карта сайта после обхода с исключённым URL, signup.php отсутствует

Сканирование уязвимостей: режим аудита

Краулер даёт карту приложения. Аудит (Audit) идёт дальше, он проверяет найденные URL на уязвимости: SQL-инъекции, XSS, command injection, path traversal и десятки других классов. В терминологии Burp Suite это называется «активное сканирование».

В отличие от пассивного (анализ ответов без дополнительных запросов), активный аудит отправляет модифицированные запросы с payload'ами и интерпретирует реакцию приложения.

Аудит с настройками по умолчанию

Если приложение уже просканировано краулером, можно аудировать любой URL из карты сайта. На вкладке Target кликаем правой кнопкой по базовому URL и выбираем Scan.

Контекстное меню на URL: опция Scan для запуска аудита

Снова открывается окно New Scan, но теперь активна опция Audit selected items. Все URL из карты сайта подтягиваются в поле Items to scan автоматически. Жмём OK.

Окно New Scan с опцией Audit selected items и списком URL

Переходим на Dashboard. Картина изменилась: секции Tasks и Event log активны, а главное, в Issue activity и Advisories появились данные.

Dashboard после запуска аудита: Task, Issue activity и Advisories заполнены

За несколько минут сканер отправил около 17 000 запросов и выявил уязвимости, сгруппированные по степени опасности: high (красный), medium (жёлтый), info (серый).

Кнопка View details в карточке задачи аудита на Dashboard

Откроется окно с полной раскладкой. Вкладка Audit items показывает проверенные URL и количество найденных уязвимостей.

Вкладка Audit items с перечнем проверенных URL и уязвимостей

Вкладка Issue activity, та же информация в разрезе severity. Каждую уязвимость можно развернуть и посмотреть Advisory.

Вкладка Issue activity с группировкой уязвимостей по severity

Вкладка Advisories, полная карточка выбранной уязвимости. В верхней части, URL, severity, confidence, CVSS-оценка. Ниже, описание, рекомендации по устранению и ссылки на внешние ресурсы по данному классу уязвимости.

Полная карточка Advisory с CVSS, описанием и рекомендациями

Чтобы увидеть конкретный HTTP-запрос и ответ, приведший к срабатыванию, перейдите на вкладку HTTP request/response. Именно здесь видно payload, который Burp отправил приложению, и ответ сервера, подтверждающий уязвимость.

Вкладка HTTP request/response: отправленный payload и ответ сервера

Тонкая настройка аудита

Аудит по умолчанию покрывает все классы уязвимостей. Но иногда нужно сузить фокус: проверить только SQL-инъекции или только XSS. Или, наоборот, добавить кастомные проверки для специфического API.

Создание профиля аудита

Снова открываем окно New Scan. В секции Scan configuration жмём New, создаём аудит-конфигурацию.

Кнопка New в разделе Scan configuration для профиля аудита

В открывшемся окне переходим на вкладку Audit optimization. Здесь три уровня:

  • Default, стандартное покрытие, баланс скорости и глубины;
  • Thorough, расширенный набор payload'ов и более глубокая проверка каждого параметра;
  • Fast, облегчённый режим, меньше запросов и проверок.
Вкладка Audit optimization: выбор Default, Thorough или Fast

Секция Issues reported позволяет выбрать конкретные классы уязвимостей. Например, оставить только SQL injection и Cross-site scripting, тогда сканер не потратит время на проверку path traversal или command injection.

Секция Issues reported: выбор классов уязвимостей для аудита

На вкладке Audit optimization > Custom можно точнее настроить пересечение классов и интенсивность проверок.

Детальная настройка пересечения классов уязвимостей в Custom

Типы сканирования

На вкладке Audit optimization находится секция Scan type, четыре уровня агрессивности:

  • Passive, только анализ трафика, без дополнительных запросов. Безопасно для продакшена, но находит лишь заголовки и проблемы конфигурации.
  • Light active, минимальный набор активных проверок. Компромисс между покрытием и риском.
  • Medium active, больше проверок, средняя нагрузка. Для стейджинга.
  • Intrusive, полный набор, включая деструктивные проверки. Только на изолированном стенде.
Секция выбора типа сканирования: Passive, Light, Medium, Intrusive

Там же опционально включается JavaScript** analysis**, краулер исполняет JS для обнаружения динамического контента и скрытых эндпоинтов в SPA-приложениях.

Чекбокс JavaScript analysis в настройках сканирования

Итоговый выбор типа сканирования отображается в верхней части окна конфигурации.

Выбор типа сканирования: Passive, Light active, Medium active, Intrusive, JS analysis

Точки вставки (Insertion points)

Точки вставки, это позиции внутри запросов, куда Burp подставляет payload'ы. По умолчанию сканер определяет их автоматически: параметры URL, тело POST, заголовки, cookies. В продвинутом режиме можно ограничить или расширить набор позиций.

Настройка точек вставки для payload'ов в запросах

Сохраняем конфигурацию, она появляется в выпадающем списке.

Сохранённый профиль аудита в выпадающем списке конфигураций

Нажимаем OK. Сканер отправляет около 2 700 запросов (против 17 000 на полном аудите) и находит одну high-severity уязвимость.

Результат Light active аудита: 2700 запросов, 1 уязвимость

Теперь при правом клике по URL на Target появляется не один, а два варианта сканирования: дефолтный и наш кастомный.

Два варианта сканирования в контекстном меню URL после создания профиля

Встроенные проверки из библиотеки

Настраивать аудит вручную не обязательно. Burp Suite поставляется с библиотекой готовых профилей. При создании новой конфигурации нажмите Select from library в нижней части окна.

Кнопка Select from library в окне создания конфигурации аудита

Выберите любой встроенный профиль, например, заточенный под конкретный класс уязвимостей или тип приложения.

Библиотека встроенных профилей аудита Burp Suite

Выбранный профиль подтягивается обратно в окно New Scan.

Выбранный из библиотеки профиль аудита в окне New Scan

Жмём OK. После завершения аудита контекстное меню URL на Target показывает уже три варианта сканирования: дефолтный, кастомный и библиотечный.

Три варианта сканирования в контекстном меню URL: дефолт, кастом, библиотечный

Сканирование + аудит в одном запуске

До сих пор мы запускали краулер и аудит по отдельности. Но Burp Suite поддерживает сквозной режим Crawl and Audit: сначала обходит приложение, затем сразу проверяет всё найденное на уязвимости.

На Dashboard снова жмём New Scan, выбираем Crawl and audit, вводим URL.

Окно New Scan с выбором режима Crawl and audit и полем URL

В разделе конфигурации при нажатии Create Burp спрашивает, какую часть настраивать: оптимизацию краулера или параметры аудита. Внутренние параметры те же, что мы видели по отдельности.

Меню выбора: настройка краулера или аудита в режиме Crawl and Audit

Это основной режим для боевого пентеста: один запуск покрывает и разведку, и поиск уязвимостей. На больших приложениях с десятками тысяч страниц быстрее разбить на два этапа, сначала краулер, затем аудит. Но для большинства сайтов Crawl and Audit даёт результат за один проход.

Управление задачами: удаление и очистка

Завершённые и устаревшие задачи имеет смысл удалять, чтобы не захламлять Dashboard. Нажмите иконку корзины напротив задачи.

Иконка корзины для удаления задачи на панели Dashboard

Подтвердите удаление во всплывающем окне.

Окно подтверждения удаления задачи в Burp Suite

Задачи удаляются мгновенно, вместе со всеми собранными данными. Перед удалением убедитесь, что результаты аудита сохранены или экспортированы.

Видео: полный разбор Burp Suite Scanner

Краулер и сканер, лишь часть Burp Suite. В этом видео охвачен полный цикл пентеста: от настройки прокси до активного аудита и эксплуатации найденных уязвимостей.

⁉️🤔 Частые вопросы

Чем краулер Burp Suite отличается от DirBuster и Dirb?

DirBuster и Dirb работают по словарю, перебирают имена директорий из готового списка. Краулер Burp Suite строит граф приложения: анализирует контент страниц, извлекает ссылки, отправляет формы и умеет логиниться. Результат, карта приложения с навигационными связями, методами и параметрами. Он находит то, чего нет в словарях: динамические URL, точки входа через JavaScript-редиректы и скрытые эндпоинты за формами логина.

Какая версия Burp Suite нужна для краулера и аудита?

Краулер и активный аудит доступны только в Burp Suite Professional ($499 за пользователя в год на 2026, цены Burp Suite Professional). Community Edition включает прокси, Repeater, Intruder с ограничением скорости и Decoder, но не Crawler и не Scanner. Professional даёт оба инструмента плюс неограниченный Intruder, Collaborator и BCheck-скрипты для кастомных проверок. Начиная с версии 2025, в Professional также встроен Burp AI, ИИ-ассистент для интерпретации результатов сканирования. Enterprise Edition добавляет CI/CD-интеграцию, планировщик и командную работу.

Можно ли сканировать сайт, невидимый из интернета?

Краулер и аудит работают через upstream-прокси Burp Suite. Всё, что доступно браузеру через Burp Proxy, доступно и краулеру: localhost, staging-серверы за VPN, корпоративные порталы. Дополнительных настроек сети не требуется, скоуп задаётся через Target scope.

Как не положить продакшен активным аудитом?

Выбирайте Light active вместо Intrusive. Отключайте проверки с риском повреждения данных: SQL injection с INSERT/UPDATE/DELETE, деструктивный command injection, file upload. Три правила: (1) Passive-only для первого прохода, (2) Light active без intrusive-чеков для второго, (3) Intrusive, только на стейджинге. Resource pool: 1 поток, задержка 500 мс.

Чем отличается пассивный аудит от активного?

Пассивный аудит (Passive scanning) не отправляет новых запросов, анализирует уже прошедший через прокси трафик: заголовки, cookies, тела ответов. Активный аудит (Active scanning) генерирует новые запросы с модифицированными payload'ами. Пассивный не найдёт SQL-инъекцию, но выявит missing security headers и cookie без HttpOnly/Secure. На практике используют оба последовательно: пассивный при серфинге, активный прицельно по интересным эндпоинтам.

Насколько актуален Burp Suite в 2026?

Burp Suite остаётся стандартом де-факто для веб-пентеста. В 2025 PortSwigger добавил AI-ассистента для анализа уязвимостей, в 2026, комбинированный инсталлятор Professional/Community, Markdown-заметки и расширенный контроль HTTP-трафика. Конкуренты (OWASP ZAP, Caido) наступают, но по глубине активного аудита и экосистеме расширений Burp пока вне досягаемости.

Какой режим Burp Suite выбрать под вашу задачу

Краулер, аудит или оба сразу, выбор зависит от этапа пентеста и цели.

Если нужно составить карту приложения перед ручным анализом, запускайте Crawl с оптимизацией Deepest. Добавьте учётные данные для закрытых разделов и исключите URL вне скоупа (страницы выхода, сброса пароля).

Если карта уже есть и цель, найти уязвимости, берите Audit на конкретном наборе URL. Для первого прохода, Passive + Light active. Intrusive оставляйте на стейджинг.

Для комплексного теста «с нуля», Crawl and Audit. Один запуск, минимум ручных операций.

И главное правило: никогда не запускайте Intrusive на чужом продакшене без письменного согласия. Даже Light active оставляет следы в логах сервера.