Burp Suite вже давно став галузевим стандартом у сфері кібербезпеки. З його допомогою можна досить швидко та якісно протестувати безпеку або провести аудит будь-якого веб-додатка. І головне, для цього не потрібно нікого наймати – опанувати Burp Suite самотужки не складніше, аніж, скажімо, опанувати Office365. При цьому це один з найпрогресивніших додатків з цифрової безпеки. У цьому матеріалі представлене повне керівництво по практичному застосуванню проксі Burp Suite. Фреймворк знадобиться і пентестерами, і QA-тестувальникам, і веб-майстрам.
- Що таке Burp Suite і чим він корисний?
- Встановлення і налаштування Burp Suite
- Веб-інтерфейс Burp Suite
- Налаштування Burp Suite
- Як встановити сертифікат BurpSuite SSL та зв’язати його з браузером?
- Firefox
- Chrome
- Як вирішити проблеми з Burp Suite SSL?
- Як додати сертифікат Burp Suite на рівні OS Linux?
- Пентестинг з Burp Suite
- Bruteforce з допомогою Burp Suite
- Фаззінг з допомогою Burp Suite
- Енумерація з допомогою Burp Suite
- XSS-ін’єкція з допомогою Burp Suite
- Відмова в обслуговуванні (DoS) з допомогою Burp Suite
- SQL-ін’єкція з BurpSuite
- IDOR атака з допомогою Burp Suite
- Аудит безпеки в Burp Suite
- Ротація IP-адрес в Burp Suite
- Burp Suite IP Rotate і AWS API Gateway
- Upstream / SOCKS proxy
- Burp Suite як проксі-сервер
- Корисні плагіни Burp Suite
- Джерела і посилання
Що таке Burp Suite і чим він корисний?
Burp Suite – це багатофункціональний кросплатформний проксі-сканер, який містить інструменти для тестування електронних ресурсів, зокрема мобільних і веб-додатків. Розроблений британцем Даффідом Шуттардом у 2003 році на Java. Пізніше ним була створена компанія PortSwigger, яка сьогодні розробляє й підтримує додаток. З детальною історією Burp Suite можна ознайомитись тут.
Burp Suite дозволяє “прослухати” абсолютно все, що проходить через конкретний мережевий порт чи веб-браузер. Таким чином можна виявляти приховані з’єднання, шпигунські скрипти, шкідливі редиректи, витоки даних, баги, вразливості. Аналізувати трафік – перехоплювати, переглядати та змінювати веб-запити.
Також додаток містить інструменти для проведення тестування на проникнення, дозволяє працювати зі словниками, здійснювати брутфорс, фаззінг, енумерацію тощо. Інтегрується з іншими додатками/інструментами та підтримує додаткові плагіни-розширення – BApps. Сумісний з Java/Python(Jython) / Ruby скриптами. Має підтримку API і навіть AI-модуль.
Кожен рядок коду, кожен запит і HTTP-заголовок в Burp Suite можна проаналізувати у режимі реального часу – в візуальному Render або “сирому” RAW/HEX вигляді. Проінспектувати та протестувати будь-який електронний ресурс, відшукати на вкладці Issues потенційні вразливості та багато-багато іншого. В Burp присутній також вбудований шифрувальник даних Decoder/Encoder.

Це далеко не увесь перелік функціоналу та можливостей Burp Suite. І все це подається у надзвичайно елегантному та відформатованому, стильному веб-інтерфейсі. Будь-які інформація доступна для експорту. Для тестувальника і дослідника безпеки Burp Suite – це інструмент №1. Ви можете сконструювати власні шаблони і правила, відпрацьовувати різні сценарії і гіпотези, моделювати кіберзагрози та експлуатувати вразливості, поєднуючи різні техніки, засоби, методики хакерського ремесла.
Також веб-академія PortSwigger пропонує безкоштовні курси, після проходження яких можна пройти іспит на отримання сертифікат майстра BurpSuite – Burp Suite Certified Ptactitioner (BSCP).
На навчальній CTF-платформі TryHackMe є чудовий модуль по вивченню BurpSuite: https://tryhackme.com/module/learn-burp-suite
Встановлення і налаштування Burp Suite
BurpSuite надається у 3-х версіях:
- Community Edition – безкоштовна некомерційна версія Burp Suite, надається безкоштовно, входить до складу дистрибутиву Kali Linux. Містить базовий функціонал: Repeater, Decoder, Sequencer і Comparer.
- Professional Edition – професійна комерційна версія Burp Suite, містить повністю увесь функціонал Burp Suite, включно з Веб-сканером, сервером для перехоплення (Burp Suite Collaborator) та можливістю зберігати проєкти. Доступ надається по ліцензії, яка коштує ~500$. Можна також протестувати додаток на безкоштовній основі в рамках випробовувального Trial-періоду. Для цього слід написати в технічну підтримку PortSwigger.
- Enterprise Edition – розширена комерційна версія Burp Suite. На даний момент, доступна у вигляді динамічного DAST-сканера (Dynamic Application Security Testing) для тестування безпеки додатків – Burp Suite DAST. Вартість уточнюється за запитом.
Завантажити будь-який з цих інсталяційних пакетів можна на офіційному сайті PortSwigger. Підтримуються усі популярні платформи: Linux, Windows, MacOS.
Веб-інтерфейс Burp Suite
У даному мануалі ми розглядатимемо повнофункціональну версію Burp Suite PRO.
Запуск здійснюється командою:
java -jar </path/to/burpsuite.jar> При першому запуску з’явиться діалогове вікно, де користувачу запропонують створити постійний або тимчасовий проєкт та налаштування. Виконайте дію слідуючи інструкціям та натисніть “Next”.
Після цього завантажиться вікно з веб-інтерфейсом BurpSuite. Він має розгорнуту систему керування й складається з наступних вкладок:
- Dashboard — головний робочий стіл Burp Suite, містить виконання задач, результати, журнали подій (панелі Tasks, Event log, Issue Activity, Advistory).
- Target — краулер Burp Suite, тут показуються усі ресурси і їх адреси, які сканує та перехоплює проксі. Інструмент дозволяє комплексно проаналізувати досліджуваний веб-ресурс та вибудувати деревовидну структуру з файлів і директорій. Корисний інструмент для аудиту. Для того, щоби результати не губилися в загальному потоці, існує підкатегорія Scope. У ній можна додати адресу конкретного ресурсу, який потрібно проксувати. Або ж додати його через контекстне меню Add to Scope в підкатегорії Site map. Потім треба знайти налаштування “Request Interception Rules” та “Response Interception Rules” й відмітити галочкою опцію And URL Is in target scope. Таким чином проксі буде “слухати” конкретно задану ціль.
- Proxy — проксі-сканер Burp Suite, сніффер HTTP-трафіка, працює в режимі MITM (man-in-the-middle). З його допомогою можна перехоплювати та аналізувати веб-трафік. Містить також підкатегорії HTTP History і WebSocket History.
- Intruder — інструмент для тестування на проникнення, моделювання і проведення атак. Функціонально схожий на такі інструменти командного рядка як Wfuzz та ffuf. В Intruder доступні таки типи атак як: Sniper (почергове надсилання одного списку слів), Battery ram (одночасне таранне надсилання одного списку в різні значення), Pitchfork (робота з різними списками слів), Cluster bomb (комбінований метод Sniper і Pitchfork).
- Repeater — обробник HTTP-запитів, дозволяє модифікувати HTTP-заголовки і повторно відправляти їх. Функція корисна для тестування методом проб і помилок.
- Sequencer — інструмент аналізу токенів, оцінює їх випадковість/ентропію, перевіряє значення сесійних cookie.
- Decoder — спеціальний інструмент декодування/шифрування даних з застосуванням різноманітних алгоритмів: ASCII, BASE64, HEX, SHA и т.д. Також в Decoder можна генерувати хеші.
- Comparser — інструмент для аналізу та порівняння даних, пошуку відмінностей.
- Logger – історія і логи трафіку.
- Organizer – додатковий інструмент для організації роботи в Burp Suite. З допомогою Organizer можна зберегти деякі HTTP-запити на “потім”. Вони зберігаються в таблиці включно з усіма даними.
- Extensions — робота з плагінами і розширеннями Burp Suite. Тут можна додавати, вилучати, сортувати, налаштовувати додатки. Присутній каталог плагінів BApp Store та API-модулів.
- Learn – панель навчання.
- Search – вбудований пошук по проєктам Burp Suite.
- Settings — окрема вкладка з налаштуваннями Burp Suite. Містить глобальні налаштування Global Settings (на рівні додатку) і проєктні Project Settings. Для переходу у потрібні налаштування можна також скористатись пошуком, який тут присутній.
Між деякими вкладками можна перемикатися з допомогою “гарячих” клавіш:
Ctrl + Shift + D– перейти до робочого стола Dashboard;Ctrl + Shift + T– перейти на вкладку цілі Target;Ctrl + Shift + P– перейти на вкладку проксі Proxy;Ctrl + Shift + I– перейти на вкладку експлуатації Intruder;Ctrl + Shift + R– перейти на вкладку повторювача Repeater;Ctrl + O– відправити запит в Organizer.
Налаштування Burp Suite
Щоб BurpSuite почав працювати в ролі проксі-сканера, необхідно спершу його налаштувати. Найперше слід визначити локальний порт (localhost), на якому працюватиме Burp Suite.
Для цього необхідно перейти в меню Proxy -> Proxy Settings -> Proxy Listeners й задати відповідний номер порту. Можна також прив’язати проксі до конкретного мережевого інтерфейсу: Loopback, All interfaces (0.0.0.0), Specific address. По замовчуванню там вказано: 127.0.0.1:8080 для Loopback (тобто локальний хост). Ви можете змінити порт 8080 на будь-який інший, особливо якщо він зайнятий іншим додатком.
Проведемо ряд інших налаштувань:
- Proxy Interception — увімкнути режим «Always disable», щоб включати режим перхоплення “Intercept on” вручну.
- Perfomance Feedback — вимикаємо відправку статистичних і технічних даних на сервери BurpSuite.
- Updates — вимикаємо автоматичне оновлення.
- SOCKS Proxy — переводимо за необхідності роботу BurpSuite через проксі-сервер.
Для подальшого використання налаштувань їх можна зберегти в окремий файл через вкладку Settings і далі Manage global settings -> Project settings -> Save project settings:
Примітка: В нових версія Burp Suite ці опції можна знайти через вбудований пошук на вкладці Settings.
Не зайвим буде перейти в налаштування Proxy Settings і відрегулювати правила перехоплення, наприклад додати правило для POST-запитів. Для цього необхідно в блоці “Request Interception Rules” (повинна бути включена галочка) натиснути Add й додати нове правило з такими налаштуваннями:
- Boolean operator: Or
- Match type: HTTP method
- Match relationshiop: Matches
- Match condition: POST
Як встановити сертифікат BurpSuite SSL та зв’язати його з браузером?
Burp Suite містить вбудований Chromium-браузер (Target -> Open browser), через який можна проводити тестування веб-додатків. Але для зручності бажано зв’язати проксі з десктопним браузером. Нижче детально описано як це зробити для різних браузерів, а також як вирішити будь-які проблеми з SSL-сертифікатом Burp Suite.
Firefox
Необхідно перейти в мережеві налаштування браузера Network Settings й вписати в полі Manual Proxy Configurtation мережевий порт, який прослуховує проксі Burp Suite, включивши галочку “Also use this proxy for HTTPS”:
Також у браузері необхідно відкрити налаштування about:preferences#privacy й відключити будь-які зайві опції, зокрема блокування, щоби браузер не заважав роботі проксі.
Для коректної роботи залишилось встановити BurpSuite SSL-сертифікат. Його можна експортувати з Burp Suite Proxy Settings або завантажити напряму за посиланням http://burp (відкрити у тому ж браузері, до якого прив’язали Burp):

Далі натиснути на напис CA Certificate й зберегти отриманий файл у форматі .der:

Після цього перейти у налаштування браузера і в менеджері сертифікатів Security -> Certificates -> Authorities імпортувати файл сертифікату cacert.der, відзначивши дозвіл “Trust this CA to identity websites”:



Додатково рекомендую зайти в налаштування Firefox – about:config і перевести опцію
network.captive-portal-service.enabledв режим false. Це дозволить позбутись нав’язливих запитів зі сторони Mozilla з підключенням до службового ресурсу detectportal.firefox.com. Загалом, рекомендую ознайомитись з матеріалом Silencing Firefox’s Chattiness for Web App Testing.
Chrome
В браузері Chrome налаштовуємо сертифікат по тій самі схемі. Скачуємо і зберігаємо за URL-адресою http://burp сертифікат. Переходимо у налаштування Settings -> Security -> Manange certificates -> Authorities й імпортуємо сертифікт, відзначивши дозвіл “Trust this certificate for identyfying websites”:
Найпростіше налагодити проксі BurpSuite для обох браузер через розширення – FoxyProxy. Для цього достатньо виставити наступні налаштування:
Перевірити роботу проксі BurpSuite дуже просто. Відкриваємо у браузері будь-який сайт і йдемо в меню Target -> Site map – там повинна з’явитися структура каталогів досліджуваного веб-сайту. Ми побачимо кожне з’єднання, яке пройшло через проксі Burp Suite.
Як вирішити проблеми з Burp Suite SSL?
Іноді можуть виникати помилки в роботі сертифікату Burp Suite. Найчастіше це відбувається після перенесення додатку на новий комп’ютер, або оновлення. В такому випадку необхідно спершу перевірити налаштування генерації SSL в налаштуваннях Proxy -> Proxy settings -> Certificate. Перевірте, щоб була увімкнена опція “Generate CA-signed per-host certificates”:
Тоді в налаштуваннях Proxy -> Proxy settings перегенеруйте сертифікат і експортуйте його в .DER форматі:
Після цього вилучіть старий Burpsuite сертифікат у браузері й імпортуйте свіжостворений, дотримуючись інструкцій вище. Все повинно запрацювати.
Як додати сертифікат Burp Suite на рівні OS Linux?
Додатково можна додати сертифікат Burp Suite в системне середовище Linux (попередньо конвертувавши його з der в pem формат). Це може усунути помилки SSL, а також позбавить необхідності щоразу додавати сертифікат Burp в новий браузер.

Команди для додавання сертифікату Burp Suite SSL в локальну систему Arch Linux:
openssl x509 -inform der -in burp_cert -out burp_cert.pemsudo cp burp_cert.pem /etc/ca-certificates/trust-source/anchors/sudo update-ca-trustsudo trust extract-compat
Для Kali Linux:
openssl x509 -inform der -in burp_cert -out burp_cert.pemopenssl x509 -in burp_cert.pem -text -nooutsudo cp burp_cert.pem /usr/local/share/ca-certificates/burp_cert.crtsudo update-ca-certificates
Пентестинг з Burp Suite
Bruteforce з допомогою Burp Suite
Брутфорс (від англ. bruteforce – груба сила) — це метод перебору даних на базі різноманітних комбінацій літер і символів, з метою підібрати правильне значення, яке прийме система. Для автоматизації атаки усі комбінації попередньо записуються в окремий файл і потім використовуються як словник. Таким чином можна підібрати слабкі логіни та паролі. Захистись від брутфорсу легко — встановити обмеження на кількість запитів в режимі реального часу і неправильних спроб входу (Login Limit Attempts), а також включити капчу і 2FA-авторизацію.
Спробуємо провести найпростішу атаку методом брутфорс-перебору з допомогою Burp Suite. Однак, відразу зазначу — виконувати його слід тільки на власних електронних ресмурсах, а ще краще встановити окрему віртуальну машину Virtual Box, наприклад OWASP Broken Web Application Project.
Спробуємо провести брутфорс-атаку на сторінку входу (login page), дотримуючись офіційної документації BurpSuite. Прикладом послужить свіжовстановлений сайт WordPress з захистом по-замовчуванню та примітивною парою логін/пароль, наприклад admin:qwerty.
Алгоритм дій (Steps to Reproduce):
- Відкрити Burp Suite і перейти на вкладку Proxy
- Відкрити браузер і перейти на сторінку входу, наприклад
/wp-login.php - Натиснути в Burp Suite -> Proxy на Intercept On
- Ввести будь-який логін і пароль — вас автоматично відкине назад в Burp Suite і покаже HTTP-заголовки
- Викликати контексте меню і натиснути Send to Intruder
- Перейти на вкладку Intruder -> Positions і натиснути кнопку Clear $
- Виділити у HTTP-заголовках значення параметрів (напр., ‘log=’, ‘pwd=’), які відповідають за логін і пароль (або тільки пароль), й додати їх в систему — натиснувши кнопку Add $
- Далі у цій же вкладці зверху в блоці Choose an attack type обрати тип атаки — Cluster bomb.
- Перейти на вкладку Payloads і виставити для кожного параметру (вони пронумеровані тут 1,2,3, в залежності від кількості параметрів) тип і опції перебору (Payload type, Payload Options)
- Натиснути кнопку Start Attack.
Примітка: деякі форми авторизації захищені CSRF-токенами безпеки і присвоюють кожному запиту користувача окрему сесію Cookie. В такому випадку стандартний автопідбір не спрацює. Необхідно додатково, перед початком атаки, перейти в налаштування Settings -> Sessions -> Macro додати новий макрос, який відповідатиме URL-адресі, яку потрібно збрутфорсити Далі потрібно проскролити вище і у блок Session Rules додати правила макросу, наприклад визначати параметри
loginTokenіCookie. Тільки після цього можна починати атаку, включивши при потребі в опціях Intruder -> Options – Follows redirect (слідувати редиректам).
В результаті виконаної операції запуститься потік енумерації і розпочнеться автоматичний перебір пари “логін-пароль”. Усе відбуватиметься в режимі реального часу. Біля кожної комбінації з’явиться інформація по статусу: код відповіді, помилки, довжина переданих даних і т.д. Нижче з’явиться блок з HTTP-заголовками Request/Response (запит/відповідь).
Після того як сканування завершиться, по коду відповіді й заголовкам визначаємо, яка комбінація була вдалою. У моєму випадку, це код 302 (тимчасовий редирект) — він означає, що після підбору логін-пароль система автоматично переспрямувала користувача в адмін-панель WordPress. Решта відповідей з кодом 200 — означають, що користувач після введеної комбінації залишався на тій же сторінці з можливістю спробувати ще раз.
Таким чином, брут спрацював і нам вдалося підібрати вдалу комбінацію та увійту в систему. Типи і налаштування атаки можна змінювати як завгодно. Наприклад, на вкладці Intruder -> Options задати затримку виконання запитів, кількість повторів, задати фільтр по повідомленням і помилкам тощо.
Однак, подібне не пройде на сайті де стоїть WAF, Captcha, 2FA. Тож ніколи не ігноруйте ними.
Фаззінг з допомогою Burp Suite
Фаззінг (від англ. fuzzying) — це техніка автоматизації процесу виявлення помилок, слабких місць або вразливостей системи шляхом надсилання безлічі запитів до електронного ресурсу з різними корисними навантаженнями (payloads), в очікуванні того, що веб-додаток ініціює дію.
Фаззінг можна використовувати як та де завгодно. Ним можна перебирати логіни і паролі, виявляти XSS/SQL/xPath-ін’єкції, LFI/RFI шелли, приховані директорії, файли, URL-адреси та інші вразливості.
У якості експерименту знову використаємо вразливий сайт WordPress.
Алгоритм дій (Steps to Reproduce):
- Відкрити Burp Suite і перейти на вкладку Proxy
- Відкрити браузер і перейти на сторінку входу, наприклад mysite.com/page.php
- Натиснути в Burp Suite ->Proxy на Intercept On
- Мають з’явитися HTTP-заголовки сторінки. Викликати контекстне меню і натиснути Send to Intruder
- Перейти на вкладку Intruder -> Positions і натиснути кнопку Clear $
- Виділити у HTTP-заголовках значення вразливих параметрів й додати їх в систему — натиснувши кнопку Add $
- Далі у цій же вкладці в блоці Choose an attack type обрати тип атаки — Sniper
- Перейти на вкладку Payloads і виставити для параметру (для Sniper він тільки 1) тип пейлоаду — Sample List і опцію перебору — Add from list — тут додаємо з списку потрібні види переборів Fuzzying.
- Натиснути кнопку Start Attack
Знову спостерігаємо за рядком статусу виконання і сортуємо код відповіді сервера та довжину байтів. У висновку, знайдемо навантаження, яке змогло проексплуатувати вразливість та викликати помилку сервера.
Енумерація з допомогою Burp Suite
Енумерація — це процес перебору значень, мета якого отримати співпадіння в системі, наприклад отримання імен користувачів або назви компонентів. По-суті, це той самий брутфорс, але з іншими функціями. Маючи точний логін користувача, можна спробувати підібрати пароль до нього.
Проведемо енумерацію користувачів на прикладі WordPress-сайту. Вона є доступною завдяки публічності URL-адрес типуexample.com/?author=n, де кожному автору відповідає певний ідентифікатор. Наприклад, якщо ввести example.com/?author=1 відкриється сторінка одного автора, author=2 — сторінка іншого, і так далі. Таким чином, можна дізнатись конкретні логіни користувачів для входу в систему. Запобігти цьому можна заборонивши доступ до URL-адрес через файл functions.php.
Алгоритм дій (Steps to Reproduce):
- Відкрити Burp Suite і перейти на вкладку Proxy
- Відкрити браузер і перейти на сторінку mysite.com/?author=0
- Перейти в Burp Suite ->Proxy й натиснути Intercept On
- Оновити в браузері веб-сторінку — спрацює проксі й вас відправить назад в BurpSuite. Мають з’явитися HTTP-заголовки сторінки. Викликати контекстне меню і натиснути Send to Intruder
- Перейти на вкладку Intruder -> Positions і натиснути кнопку Clear $
- Виділити у HTTP-заголовках значення параметру ‘author=’ (тобто, цифру) й додати в систему — натиснувши кнопку Add $
- Далі у цій же вкладці в блоці Choose an attack type обрати тип атаки — Sniper
- Перейти на вкладку Payloads і виставити для параметру відповідний тип пейлоаду, у нашому випадку — Numbers і опцію перебору Payload Options -> Number Range — від 1 до 200 з кроком 1; Number Format — 1, 3, 0, 0.
- На вкладці Options скролимо сторінку донизу і знаходимо пункт Redirections -> Follow Redirects— вмикаємо. Це означає, що у випадку редиректу сканер піде за ним і буде сканувати далі.
- Натиснути кнопку Start Attack.
Сортуємо коди відповідей й у висновку бачимо кількість знайдених користувачів. Залишається подивитись в HTTP-заголовках URL-адресу, щоби дізнатись їхні логіни:
XSS-ін’єкція з допомогою Burp Suite
XSS-ін’єкція (XSSi) – це атака з допомогою міжсайтового скриптингу Cross-Site Scripting. Коли ті чи інші вхідні запити не перевіряються на стороні сервера, що дає хакеру виконати довільний JavaScript код чи сценарій.
Алгоритм дій (Steps to Reproduce):
- Проксуємо цільовий веб-сайт BurpSuite (попередньо додавши його адресу в Scope)
- Аналізуємо на вкладці Site Map його структуру і знаходимо потенційно вразливі сторінки. Для XSS точкою входу можуть бути: форми відправки, текстові поля, будь-які динамічні об’єкти, де не перевіряються дані.
- Відкриваємо знайдену вразливу веб-сторінку, наприклад форму зворотного зв’язку
/ticket. Заповнюємо її будь-яким текстом. Перед тим як натиснути кнопку “Відправити”, вмикаємо “Inercept on” в Burp Suite, щоб перехопити запит. Тепер натискаємо. - У вікні Burp Suite бачимо HTTP-заголовки перехопленого Request-запиту, відправляємо його через контекстне меню в Repeater (повторювач).
- Уважно вивчаємо заноловки і знаходимо поля, які відповідають за відправку інформації, у нашому випадку це email та message. Вставляємо в значення поля email корисне навантаження (payload) і кодуємо його: Ctrl + U.
- Відпраляємо запит натиснувши “Send” і спостерігаємо за виконанням на сайті (можна скористатись контекстним меню “Show response in browser”). Код JavaScript має спрацювати на сайті й викликати діалогове вікно Alert (або будь-який інший сценарій, який ви вказали).
Відмова в обслуговуванні (DoS) з допомогою Burp Suite
Відмова в обслуговуванні (Denial of Service) — це атака, яка має завдання викликати на стороні сервера критичну помилку (наприклад, 500), що через перенавантаження або порушення логіки/конфігурації спричинить відмову в обслуговуванні сервера або взагалі приведе до падіння.
Алгоритм дій (Steps to Reproduce):
- Проксуємо цільовий веб-сайт BurpSuite (попередньо додавши його в Scope)
- Аналізуємо на вкладці Site Map структуру і знаходимо потенційно вразливі сторінки. Для DoS-атак точкою входу можуть бути різноманітні сторінки з динамічними параметрами, порушення логіки роботи, неправильна конфігурація.
- Відкриваємо знайдену вразливу веб-сторінку, наприклад сторінки пагінації
/products/1. - У вікні Burp Suite бачимо HTTP-заголовки перехопленого Request-запиту, відправляємо його через контекстне меню в Repeater (повторювач).
- Звертаємо увагу на значення GET – змінюємо його на таке, щоб порушити логіку роботи сервера і він не зміг обробити запит. Наприлклад:
/products/-10000000000000000000000000. - Відпраляємо запит і аналізуємо відповідь Response. Сервер має віддати помилку “500 Internal Server Error”. Таким чином сервер вразливий до атаки і якщо скористатися брутфорсером та запустити не 1, а десятки тисяч таких запитів це може привести до падіння й тривалого простою сервера.
SQL-ін’єкція з BurpSuite
SQL-ін’єкція (XSSi) – це атака шляхом маніпуляції SQL-виразами. Подібно XSS-ін’єкціям, SQLi можливий тоді, коли вхідні запити не перевіряються і виконуються на стороні сервера. Хакер може надсилати запити до MySQL і виконувати їх, що може мати критичні наслідки.
Алгоритм дій (Steps to Reproduce):
- Проксуємо цільовий веб-сайт BurpSuite (попередньо додавши його адресу в Scope)
- Аналізуємо на вкладці Site Map його структуру і знаходимо сторінки з вразливими параметрами, які можна використати для здійснення SQL-запитів. Це можуть бути динамічні сторінки, галереї, таблиці, сторінки авторизації тощо.
- Відкриваємо знайдену вразливу веб-сторінку, наприклад
/about/2. Перехоплюємо Request-запит до неї. - У вікні Burp Suite бачимо HTTP-заголовки запиту, відправляємо в Repeater.
- Аналізуємо значення заголовків, знаходимо параметр GET і змінюємо його на:
/about/2 '. - Відпраляємо запит натиснувши “Send” і аналізуємо заголовки відповіді Response. Сервер відповість “500 Internal Server Error”. Також у тілі можуть бути інші цікаві повідомлення, включно з відповідями від самої MySQL-бази даних. Отже, є вразливість на цій кінцевій точці. Можна спробувати більш просунуті пейлоади SQLi, наприклад UNION вирази. В результаті це приведе до можливості маніпулювати базою даних, отримувати дані з неї і навіть (за певним умов) вносити несанкціоновані зміни.
IDOR атака з допомогою Burp Suite
IDOR (Insecure Direct Object References) - це тип вразливості контролю доступу, яка виникає, коли користувач без особливих привілеїв може маніпулювати ідентифікаторами в URL-адресах або параметрах в коді й отримати доступ до конфіденційних сторінок системи. Вразливість була вперше включена до списку ТОП-10 вразливостей веб-додатків в стандарті OWASP 2007.
Алгоритм дій (Steps to Reproduce):
- Авторизуємося на цільовому веб-сайті і проксуємо його (попередньо додавши в Scope).
- Аналізуємо на вкладці Site Map структуру і знаходимо потенційно вразливі сторінки до IDOR.
- Відкриваємо знайдену вразливу веб-сторінку, наприклад тікет
/support/ticket/78. Перехоплюємо Request-запит до неї. - Відправляємо його в Intruder: Ctrl + I
- Обираємо параметр, який треба перебрати. У даному випадку, ми перебиратимемо номер сторінки – 78. Обираємо його і тиснемо на $Add.
- Обираємо тип атаки Sniper.
- Переходимо на вкладку Payloads і додаємо тип перебору цифрами (Numbers), вказуючи від 1 до 100.
- Запускаємо атаку.
- Аналізуємо Response-запити, щоб знайти конфіденційну інформацію в тікетах користувачів цільової системи. Можемо також скористатися фільтром результатів “Shows only item matching”.
Аудит безпеки в Burp Suite
BurpSuite PRO може бути ще й чудовим веб-сканером для пошуку вразливостей.
Щоб розпочати сканування необхідно перейти на Dashboard і натиснути кнопку “New Scan”:
З’явиться діалогове вікно з налаштуваннями сканування:
Вам запропонують вказати тип і цілі сканування. Тип — обираємо “Crawl and audit” (Сканування і аудит). В полі “URLs to Scan” можна вказати домен — тоді сканування буде проходити у межах усього сайту по всім файлам та каталогам. Або вказати список URL-адрес, які потрібно просканувати. У разі необхідності, можна також змінити тип протоколу, по якому буде проводитися сканування.
Переходимо на наступний крок — вкладка “Scan configuration”. Тиснемо на кнопку знизу “Select from library” – з’явиться діалогове вікно з можливістю вибору різних конфігурацій та стратегій сканування та аудиту. Можна задати потрібну частоту, глибину перевірки, сценарії тощо.
Переходимо на наступну вкладку – “Application login”. Якщо сайт чи сторінка захищені формою авторизації, то тут можна задати дані авторизації й BurpSuite успішно проведе сканування. Є можливість застосувати макрос Chrome-браузера (через плагін BurpSuite Navigation Recorder).
Переходимо до останньої вкладки — “Resource pool”. Тут можна налаштувати інтенсивність сканування — кількість запитів в секунду. Можемо залишити по замовчуванню, хоча для деяких сайтів це критично важливо, адже сканування може навантажити сервер. У такому випадку необхідно зменшити агресивність сканування.
Натискаємо ОК і запускаємо сканування. На дашборді з’явиться нова панель з назвою “Crawl and audit of …” з перебігом подій виконання аудиту:
На ній відображений рядок статусу, статистика кількості виконаних запитів, помилок (errors) і знайдених вразливостей — “Issues”, позначених різними кольорами за ступенем критичності. Якщо натиснути на кнопку “View details>>” – відкриється нове вікно з деталізацією представлення даних:
Обсяги інформації, якою оперує BurpSuite вражають. Він просканує сайт, як кажуть, до самих “кісточок”. До всіх знайдених вразливостей показує HTTP-заголовки (Request/Reponse) і приклади експлуатації, що є надзвичайно корисним:
Мушу зазначити, що глибоке сканування сайту з розгорнутою структурою може зайняти достатньо часу і суттєво навантажити його, тому рекомендую запускати сканер у вибрані години, або використати конфігурацію “Faster scan” (швидкий аудит, див. вище).
По закінченню сканування отримуємо не просто “сухий звіт” з набором даних, а структурований документ з детальним описом знайдених вразливостей, посиланнями на джерела (references) та класифікацією згідно CVE/CWE. Таке ТЗ можна експортувати в HTML (включивши в нього усі або лише вибрані вразливості) і передати спеціалісту для подальшої роботи.
Для того, аби згенерувати звіт в BurpSuite, треба перейти на екран “Issue activity”, виділити курсором вразливості і з допомогою контекстного меню обрати пункт “Report Selected Issues”. З’явиться Майстер створення звітів (Burpsuite Wizard Reporting), який здійснить експорт даних у формат HTML або XML:
Підсумовуючи скажу, що проксі BurpSuite — надзвичайно простий в опануванні, швидкий в роботі, корисний і важливий з точки зору кібербезпеки. Інформація, яку він надає — надзвичайно цінна. В ідеалі цей інструмент повинен бути “під рукою” у кожного вебмайстра та власника сайту. Це чудовий інструмент для перевірки електронних ресурсів на технічні помилки і вразливості.
Ротація IP-адрес в Burp Suite
Часто в проведеннях аудитів і пентестів, виникає необхідність протестувати різні види атак, які використовують не одну статичну, а цілий пул IP-адрес. Це також дозволить обійти правила блокування WAF, яке може бути застосоване по відношенню IP-адреси “атакуючого”.
Існує кілька варіантів, як це зробити в Burp Suite. Перший варіант передбачає зв’язку плагіну “IP rotate” та сервісу AWS “API Gateway”. Другий – використання вбудованої опції “Upstream proxy” або “SOCKS proxy”. Розглянемо кожен випадок окремо.
Burp Suite IP Rotate і AWS API Gateway
Плагін IP Rotate доступний в репозиторії у вкладці BApp Store. Необхідно просто обрати в переліку необхідний плагін і натискнути кнопку “Install“. Але деякі плагіни працюють на основі Java/Python, тому попередньо необхідно встановити бібліотеку Jython: перейти в Settings -> Extensions і в полі Jython вибрати бібліотеку .jar (скачати можна тут).
Після встановлення плагіну на панелі меню Burp Suite з’явиться додаткова вкладка “IP Rotate”. Якщо перейти в неї, то побачимо поля для введення API ключів – Acces/Secret keys від інфраструктури AWS. Також тут необхідно вказати цільовий хост, який будете сканувати з ротацією IP:
Для цього реєструємося на офіційному сайті Amazon Web Services і створюємо новий акаунт. Далі переходимо в розділ “IAM” і створюємо нового користувача. В налаштуваннях користувача, на вкладці “Specify user details” призначаємо користувачу дозвіл – “AmazonAPIGatewayAdministrator”. Тепер створюємо ключ доступу знайшовши пункт “Access Key” в сайдбар-меню. Отримуємо API-ключі і вписуємио їх в плагін IP Rotate на панелі Burp Suite.
Тепер потрібно протестувати роботу API Gateway. Для цього просто перехопимо запит до URL-адреси, наприклад: https://ifconfig.co/ip?ref=p1val і перенаправимо до Intruder, де оберемо параметр $p1val$ і проведемо атаку типу Sniper -> Numbers від 1 до 5, але в налаштуваннях Settings додамо ще умову “Grep Extract” для отримання перших рядків з IP-адресами:
\r\n\r\n\r\n
Тепер тиснемо Fetch Response – і маємо отримати відповідь. Якщо так, тоді залишилось натиснути “Start Attack” й в результатах побачимо IP-адреси усіх п’яти запитів. Вони будуть однакові. Значить все працює і можна включати IP-ротацію.
Переходимо на вкладку IP Rotate, вказавши ціль, у нашому випадку це ifconfig.co. Й натискаємо на кнопку Enable. Треба зачекати 2-3 хвилини, щоби загорівся зеленим напис Enabled (відбудеться підключення до шлюзу API AWS і запустяться кілька екземлярів VPS в різних зонах, які і будуть джерело IP-адрес).
Тепер повертаємося до Intruder і просто повторюємо атаку. Маємо побачити, що усі IP-адреси п’ятьох запитів – різні. Отже, все працює.
Після завершення роботи, бажано відключити плагін IP Rotate – перевівши його у стан Disabled й дочекатися виключення екземплярів, аби не вичерпувалися ліміти. AWS безкоштовно надає до 1 мільйона запитів. Далі – стандартна тарифікація.
Upstream / SOCKS proxy
Для того, щоб налаштувати роботу Burp Suite через проксі необхідно перейти у налаштування “Settings” і налаштувати відповідну конфігурацію – Upstream або SOCKS5 проксі:
В якості Upstream можна використовувати резидентні проксі від таких сервісів як ProxyScrape, ProxyMesh, BrightData та їм подібні.
Для їх запуску необхідно натиснути на кнопку “Add” й додати дані авторизації у форму конфігурації:
Для запуску SOCKS5 аналогічно необхідно заповнити дані авторизації, а також додатково увімкнути галочку “Override options for this project only”:
Попередньо перевірити роботу проксі можна з допомогою команди Curl:
curl -x "https://X.X.X.X:XXXX" "https://ipinfo.io/"curl -x "protocol://user:password@host:port" "https://ipinfo.io/"
Burp Suite як проксі-сервер
Burp Suite також можна використовувати себе як звичайний проксі-сервер при виконанні різноманітних утиліт, наприклад:
gobuster dir -u https://example.com -w wordlist.txt --proxy http://127.0.0.1:8085 -v --random-agentcurl --proxy http://127.0.0.1:8085 https://example.com
Якщо в Burp Suite перейти на вкладку Proxy -> HTTP History, то можна побачити список усіх запитів, які надсилаються через його проксі:
Можна також вказати проксі BurpSuite в налаштуваннях сторонніх додатків, наприклад сканерах вразливостей Acunetix та OWASP Zap. Таке поєднання дає чимало переваг, адже дозволяє не тільки контролювати HTTP-запити (GET/POST), їх статуси, довжину, MIME-тип в режимі реального часу, а й аналізувати та одразу експлуатувати їх в Burp Repeater/Intruder. Причому, це чудово поєднується з плагіном ротації IP Rotate або будь-якими іншими налаштуваннями Burp Suite.

Корисні плагіни Burp Suite
При регулярному використанні проксі Burp Suite рано чи пізно виникає потреба розширити його функціонал. Нижче список корисних плагінів, які полегшують роботу:
- Auto-Drop Requests – автоматично відхиляє (блокує) зайві, “сміттєві” запити, які перехоплює проксі Burp Suite. Плагін містить текстове поле, у яке необхідно просто вписати регулярний вираз зі словами для блокування. Наприклад:
.*firefox|google.*– заблокує усі запити, які надсилають ресурси зі згаданими доменами.
Джерела і посилання
- XSS Атака в BurpSuite з допомогою плагіну XSSValidator
- Dana Epp. Bypassing API rate limiting using IP rotation in Burp Suite
- Dana Epp. Evade IP blocking by using residential proxies (ProxyScrape proxy)
- Medium. How to Rotate IP ADDRESS For Each Request in Burp Suite (BrightData proxy)
- Medium. Integrating IP Rotation with Burp Suite to Bypass IP-Based Blocking in Security Perimeters during Security Testing
- GitHub — XSS Validator
- GitHub — BurpGPT
- Github — Nuclei Burp Extension
- GitHub — Nuclei Template Generator for Burpsuite
Автор: © Konrad Ravenstone, KR. Laboratories Research













































