Burp Suite — это де-факто стандарт в арсенале любого специалиста по безопасности веб-приложений. Его прокси-модуль позволяет перехватывать, анализировать и модифицировать HTTP/HTTPS-трафик между браузером и сервером в режиме реального времени. В этом руководстве мы разберём, как настроить Burp Suite как прокси, какие модули использовать для базового пентеста и как не допустить типичных ошибок новичков.
Что такое Burp Suite и зачем он нужен пентестеру
Burp Suite — это интегрированная платформа для тестирования безопасности веб-приложений, разработанная компанией PortSwigger. Инструмент существует в трёх редакциях: Community (бесплатная), Professional и Enterprise. Для большинства задач начального и среднего уровня достаточно Community-версии, хотя Professional открывает доступ к активному сканеру уязвимостей и расширенным возможностям Intruder.
Главная роль Burp Suite в пентесте — это роль man-in-the-middle прокси. Инструмент встаёт между вашим браузером и целевым веб-приложением, перехватывая весь HTTP/HTTPS-трафик. Это позволяет:
- Видеть «сырые» запросы и ответы, которые браузер скрывает от пользователя
- Модифицировать параметры запросов на лету — менять заголовки, тело POST-запроса, cookie
- Повторять запросы с изменёнными данными без перезагрузки страницы
- Автоматически перебирать значения параметров для поиска уязвимостей
- Строить полную карту веб-приложения (Spider/Crawler)
- Находить уязвимости классов SQLi, XSS, IDOR, SSRF и десятки других
Burp Suite используется как профессиональными пентестерами на коммерческих проектах, так и участниками программ Bug Bounty (HackerOne, Bugcrowd). Это первый инструмент, который устанавливают на рабочую машину при начале карьеры в области Application Security.
⚠️ Важно:
Используйте Burp Suite только для тестирования приложений, на которые у вас есть письменное разрешение владельца, или для учебных стендов (DVWA, WebGoat, HackTheBox, TryHackMe). Несанкционированное тестирование — уголовно наказуемо.
Как работает прокси-перехват в Burp Suite
Когда вы запускаете Burp Suite и активируете модуль Proxy, на вашей машине поднимается локальный прокси-сервер. По умолчанию он слушает на адресе 127.0.0.1:8080. Браузер настраивается на использование этого адреса как HTTP/HTTPS-прокси.
Схема работы выглядит следующим образом:
Браузер │ │ HTTP/HTTPS запрос ▼ Burp Suite Proxy (127.0.0.1:8080) │ │ ← Здесь Burp перехватывает, показывает, позволяет изменить │ ▼ Целевой веб-сервер (example.com) │ │ HTTP/HTTPS ответ ▼ Burp Suite Proxy │ │ ← Здесь Burp перехватывает ответ сервера │ ▼ Браузер (получает ответ)
Для HTTPS-трафика Burp Suite генерирует собственные TLS-сертификаты для каждого домена на лету. Чтобы браузер не показывал предупреждения о небезопасном соединении, необходимо установить корневой CA-сертификат Burp в доверенные центры сертификации браузера или операционной системы. Именно это позволяет расшифровывать HTTPS-трафик — без этого шага вы будете видеть только зашифрованные данные.
Режим перехвата (Intercept) может быть включён или выключен. Когда Intercept включён — каждый запрос «замораживается» в Burp и ждёт вашего решения: пропустить как есть, изменить или сбросить. Когда выключён — Burp пропускает трафик прозрачно, но всё равно логирует его в HTTP History.
Настройка браузера и установка CA-сертификата
Это самый важный шаг для начала работы. Рассмотрим два варианта: использование встроенного браузера Burp и ручную настройку Chrome/Firefox.
Вариант 1: Встроенный браузер Burp Suite (рекомендуется для новичков)
Начиная с версии 2021.x, Burp Suite поставляется со встроенным Chromium-браузером, который уже преднастроен для работы с прокси и содержит CA-сертификат. Это самый быстрый способ начать работу:
- Откройте Burp Suite → перейдите в раздел Proxy
- Нажмите кнопку Open Browser
- Откроется Chromium, уже настроенный на прокси Burp
- Перейдите на нужный сайт — трафик сразу будет перехватываться
Вариант 2: Ручная настройка Firefox
Firefox предпочтителен для ручной настройки, так как имеет собственное хранилище сертификатов (не зависит от системного):
Шаг 1. Настройте прокси в Firefox:
- Откройте Firefox → Настройки → Прокси-сервер (или используйте расширение FoxyProxy)
- Выберите «Ручная настройка прокси»
- HTTP-прокси:
127.0.0.1, Порт:8080 - Поставьте галочку «Использовать этот прокси для HTTPS»
- Нажмите OK
Шаг 2. Установите CA-сертификат Burp:
- Убедитесь, что Burp Suite запущен и прокси активен
- В браузере перейдите по адресу:
http://burpsuiteилиhttp://127.0.0.1:8080 - Нажмите «CA Certificate» — скачается файл
cacert.der - В Firefox: Настройки → Приватность и защита → Сертификаты → Просмотр сертификатов
- Вкладка «Центры сертификации» → Импортировать → выберите скачанный файл
- Поставьте галочку «Доверять этому CA для идентификации веб-сайтов»
- Нажмите OK
После этих шагов Firefox будет доверять сертификатам, которые Burp генерирует для HTTPS-сайтов, и вы сможете перехватывать зашифрованный трафик без предупреждений.
Перехват и анализ HTTP/HTTPS-трафика
После настройки браузера можно приступать к работе с трафиком. Разберём основные возможности вкладки Proxy в Burp Suite.
HTTP History — журнал всех запросов
Вкладка HTTP History (Proxy → HTTP History) — это журнал всех запросов, которые прошли через Burp. Здесь вы увидите:
- Метод запроса (GET, POST, PUT, DELETE и т.д.)
- URL и параметры
- HTTP-заголовки (включая Cookie, Authorization, User-Agent)
- Тело запроса (для POST/PUT)
- Код ответа сервера (200, 302, 403, 500...)
- Размер и время ответа
Правой кнопкой мыши на любой запрос → вы получаете контекстное меню с опциями: отправить в Repeater, Intruder, Scanner, Decoder и другие модули. Это основной рабочий процесс в Burp.
Intercept — режим активного перехвата
Включите Intercept (кнопка «Intercept is on/off») — и следующий запрос из браузера «заморозится» в Burp. Вы увидите его содержимое и сможете:
- Forward — пропустить запрос без изменений
- Drop — сбросить запрос (сервер не получит его)
- Изменить данные вручную — отредактировать любое поле и нажать Forward
- Action → Send to Repeater — отправить в Repeater для дальнейшего анализа
Практический пример: вы перехватываете POST-запрос формы авторизации. В теле запроса видите параметры username=admin&password=12345. Вы можете изменить значения прямо в Burp и нажать Forward — сервер получит уже изменённые данные.
Ключевые модули: Repeater, Intruder, Scanner
Burp Suite — это не просто прокси. Это целая экосистема инструментов. Рассмотрим три модуля, которые используются чаще всего.
Repeater — ручное тестирование запросов
Repeater — это рабочая лошадка пентестера. Вы отправляете в него запрос из HTTP History (правая кнопка → Send to Repeater), после чего можете:
- Изменять любые параметры запроса
- Отправлять запрос повторно кнопкой Send
- Видеть ответ сервера в правой панели
- Сравнивать ответы на разные варианты запроса
- Сохранять историю всех отправленных вариантов
Типичный сценарий использования Repeater: вы нашли параметр id=5 в GET-запросе. Отправляете запрос в Repeater и начинаете проверять: что будет при id=1, id=0, id=-1, id=999999? Это базовая проверка на IDOR (Insecure Direct Object Reference).
Intruder — автоматизированный перебор
Intruder позволяет автоматически перебирать значения параметров по заданному словарю или шаблону. Основные режимы атаки:
| Режим | Описание | Применение |
|---|---|---|
| Sniper | Один параметр, один словарь | Брутфорс одного поля |
| Battering Ram | Несколько параметров, одно значение | Когда нужно одинаковое значение в нескольких местах |
| Pitchfork | Несколько параметров, несколько словарей (синхронно) | Перебор логин+пароль из готовых пар |
| Cluster Bomb | Несколько параметров, все комбинации | Полный перебор всех комбинаций |
В Community-версии скорость Intruder искусственно ограничена (около 1 запроса в секунду). В Professional-версии ограничений нет. Для обхода этого ограничения в Community используют сторонние расширения или утилиту ffuf/wfuzz в связке с Burp.
Scanner — автоматический поиск уязвимостей (Pro)
Scanner доступен только в Professional-версии. Он автоматически анализирует перехваченные запросы и ищет уязвимости: SQL-инъекции, XSS, XXE, SSRF, Path Traversal и другие. В Community-версии есть пассивное сканирование — Burp анализирует трафик и подсвечивает потенциально опасные места без активных атак.
Поиск типичных уязвимостей через Burp Suite
Рассмотрим практические сценарии поиска самых распространённых уязвимостей с использованием Burp Suite.
SQL-инъекция (SQLi)
Базовая проверка на SQLi через Repeater:
- Перехватите запрос с параметром, который уходит в базу данных (например,
id=5илиsearch=test) - Отправьте в Repeater
- Добавьте к значению одиночную кавычку:
id=5' - Нажмите Send и изучите ответ — если сервер вернул SQL-ошибку или изменилось поведение — есть признак SQLi
- Проверьте булевую инъекцию:
id=5 AND 1=1vsid=5 AND 1=2— если ответы отличаются, инъекция есть
Reflected XSS
Проверка на отражённый XSS:
- Найдите параметр, значение которого отображается на странице ответа
- Отправьте запрос в Repeater
- Вставьте тестовую нагрузку:
<script>alert(1)</script> - Изучите ответ — если нагрузка попала в HTML без экранирования, XSS присутствует
- Проверьте, не фильтруется ли тег script: попробуйте
<img src=x onerror=alert(1)>
IDOR (Insecure Direct Object Reference)
Один из самых распространённых классов уязвимостей в современных веб-приложениях:
- Найдите запросы, которые обращаются к объектам по числовому ID:
/api/user/profile?id=1234 - Отправьте в Repeater
- Измените ID на другое значение:
id=1235,id=1 - Если сервер вернул данные другого пользователя без ошибки авторизации — это IDOR
Проверка авторизации и управление сессией
Burp Suite позволяет легко проверять механизмы авторизации:
- Скопируйте запрос к защищённому ресурсу в Repeater
- Удалите или измените значение cookie сессии
- Проверьте, вернёт ли сервер ошибку авторизации или всё равно отдаст данные
- Проверьте, работают ли JWT-токены при изменении алгоритма на
none
Burp Suite + внешний прокси: зачем это нужно
Burp Suite — это локальный инструментальный прокси. Но в ряде сценариев пентестеру нужно пустить трафик Burp через внешний прокси. Рассмотрим, когда и зачем это требуется.
Сценарий 1: Тестирование с реального IP-адреса
Некоторые веб-приложения имеют защиту на основе геолокации или репутации IP. Если целевое приложение блокирует трафик из дата-центров или с известных VPN-IP, пентестер может использовать резидентные прокси — они имеют IP-адреса реальных домашних пользователей и выглядят для сервера как обычный посетитель.
Сценарий 2: Обход rate limiting при активном тестировании
При активном сканировании или работе с Intruder целевой сервер может заблокировать ваш IP из-за большого количества запросов. Ротация через пул прокси позволяет распределить нагрузку по разным IP-адресам. Для этих задач хорошо подходят прокси дата-центров — они обеспечивают высокую скорость и стабильность соединения, что критично при автоматизированном тестировании.
Как настроить upstream-прокси в Burp Suite
Burp Suite поддерживает upstream-прокси (прокси вышестоящего уровня). Настройка:
- Откройте Burp Suite → Settings (или User Options в старых версиях)
- Перейдите в раздел Network → Connections → Upstream Proxy Servers
- Нажмите Add
- В поле Destination host укажите
*(для всех хостов) или конкретный домен - Укажите адрес и порт внешнего прокси
- Выберите тип: HTTP, SOCKS4 или SOCKS5
- При необходимости введите логин и пароль
- Нажмите OK
# Пример конфигурации upstream-прокси в Burp Suite: Destination host: * Proxy host: proxy.example.com Proxy port: 8888 Auth type: Basic Username: your_login Password: your_password Proxy type: SOCKS5
После этой настройки весь трафик, который Burp отправляет на целевые серверы, будет идти через указанный upstream-прокси. Браузер по-прежнему подключается к Burp на 127.0.0.1:8080, а Burp уже самостоятельно форвардит запросы через внешний прокси.
Сравнение типов прокси для пентеста
| Тип прокси | Скорость | Анонимность | Применение в пентесте |
|---|---|---|---|
| Дата-центр | Высокая | Средняя | Активное сканирование, Intruder |
| Резидентный | Средняя | Высокая | Обход геоблокировки, имитация пользователя |
| Мобильный | Средняя | Очень высокая | Тестирование мобильных API, обход строгих WAF |
Советы и частые ошибки при работе с Burp Suite
За годы работы с Burp Suite у сообщества пентестеров накопился список типичных ошибок новичков и проверенных приёмов. Вот самые важные из них.
Частые ошибки новичков
- Забыли установить CA-сертификат. Симптом: HTTPS-сайты показывают предупреждение о небезопасном соединении, трафик не перехватывается. Решение: установите сертификат по инструкции выше.
- Intercept остался включён. Браузер «завис» — не загружает страницы. Решение: перейдите в Proxy → Intercept и нажмите «Intercept is on», чтобы выключить перехват.
- Не добавили исключения для системного трафика. Burp перехватывает трафик обновлений Windows, антивируса и т.д. Настройте фильтры в Proxy → Options → Intercept Client Requests, чтобы перехватывать только нужные домены.
- Тестируют production-сервер без разрешения. Это незаконно. Используйте только тестовые стенды или приложения с явным разрешением.
- Игнорируют вкладку Target → Site Map. Здесь Burp строит карту всего приложения — все обнаруженные эндпоинты, параметры и ответы. Это бесценный источник информации при разведке.
Полезные приёмы
- Match and Replace. В Proxy → Options → Match and Replace можно настроить автоматическую замену значений в запросах. Например, автоматически добавлять заголовок или менять User-Agent на мобильный.
- Decoder. Модуль Decoder позволяет быстро декодировать/кодировать данные: Base64, URL-encoding, HTML-entities, Hex. Незаменим при анализе токенов и параметров.
- Comparer. Позволяет сравнить два ответа сервера побайтово. Отправьте два похожих запроса в Comparer и мгновенно увидите разницу.
- BApp Store. Burp Suite поддерживает расширения (BApp Store). Популярные: Autorize (проверка авторизации), Logger++ (расширенное логирование), Turbo Intruder (быстрый перебор в Community), JWT Editor.
- Сохраняйте проект. В Professional-версии можно сохранять проект. В Community используйте Export → Save state, чтобы не потерять HTTP History при закрытии.
- Используйте Scope. В Target → Scope добавьте домен целевого приложения. Это позволит Burp фильтровать нерелевантный трафик и не засорять HTTP History запросами к Google, CDN и т.д.
Полезные ресурсы для практики
| Ресурс | Тип | Для кого |
|---|---|---|
| PortSwigger Web Security Academy | Бесплатные лабы + теория | Новички и средний уровень |
| DVWA (Damn Vulnerable Web App) | Локальный стенд | Практика без риска |
| HackTheBox / TryHackMe | Онлайн-платформы CTF | Практика реальных сценариев |
| WebGoat (OWASP) | Локальный стенд с уроками | Изучение OWASP Top 10 |
Заключение
Burp Suite — это мощный и при этом доступный инструмент для тестирования безопасности веб-приложений. Его прокси-модуль даёт полную видимость HTTP/HTTPS-трафика, а связка Proxy → Repeater → Intruder покрывает большинство задач ручного пентеста. Начать можно бесплатно с Community-версии и бесплатных лабораторий PortSwigger Web Security Academy — это лучший способ освоить инструмент на практике.
Ключевые шаги для старта: установите Burp Suite, настройте браузер через FoxyProxy, установите CA-сертификат, добавьте целевой домен в Scope — и вы готовы к работе. Освоив базовые модули, переходите к изучению расширений из BApp Store: Autorize, Turbo Intruder и JWT Editor существенно расширят ваши возможности.
Если в рамках вашего пентеста нужно тестировать приложения с нестандартной геолокацией, обходить IP-блокировки или имитировать трафик реальных пользователей, рекомендуем настроить upstream-прокси в Burp Suite. Для задач, где важна высокая анонимность и обход защит на основе репутации IP, хорошо подходят резидентные прокси — они обеспечивают трафик с IP-адресов реальных пользователей и минимизируют риск блокировки при тестировании.