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 на повному аудиті) і знаходить одну вразливість високого рівня небезпеки.

Результат 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 додав ШІ-асистента для аналізу вразливостей, у 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 залишає сліди в логах сервера.