Что такое Burp Suite и зачем он нужен
Burp Suite — набор инструментов для тестирования безопасности веб-приложений. Он работает как man-in-the-middle прокси между браузером и сервером: перехватывает HTTP/HTTPS-запросы, позволяет их просматривать, модифицировать и повторно отправлять. Это базовый навык для любого пентестера или bug bounty-исследователя.
Существует две основные редакции:
| Редакция | Стоимость | Ключевые отличия |
|---|---|---|
| Community Edition | Бесплатно | Proxy, Repeater, Decoder, Sequencer, Intruder (с ограничениями по скорости) |
| Professional | Платная подписка | Автоматический сканер уязвимостей, полный Intruder, сохранение проектов, расширения BApp Store |
Для обучения и первых лабораторных работ Community Edition полностью достаточна.
Установка и первый запуск
Burp Suite распространяется как единый исполняемый файл (включает встроенную JRE). Скачайте последнюю версию с официального сайта PortSwigger и запустите.
При первом запуске выберите Temporary project (для Community Edition это единственный вариант без лицензии) и Use Burp defaults.
После запуска откроется основной интерфейс с вкладками: Dashboard, Target, Proxy, Intruder, Repeater, Decoder, Comparer, Sequencer, Extender.
Настройка браузера для работы через прокси
Burp Proxy по умолчанию слушает на
127.0.0.1:8080. Чтобы браузер направлял трафик через Burp, нужно настроить прокси.Вариант 1: встроенный браузер Burp
Самый простой способ. Вкладка Proxy → Intercept → Open browser. Burp запустит изолированный экземпляр Chromium, уже настроенный на свой прокси. Не нужно ничего конфигурировать вручную.
Вариант 2: расширение FoxyProxy (Firefox)
Если предпочитаете Firefox:
- Установите расширение FoxyProxy Standard из магазина дополнений.
- Добавьте прокси: тип HTTP, хост
127.0.0.1, порт8080.
- Активируйте этот прокси.
Вариант 3: системные настройки прокси
В настройках ОС укажите HTTP-прокси
127.0.0.1:8080. Браузер, использующий системные настройки, будет направлять трафик через Burp.Перехват HTTP-запросов
Включение перехвата
Вкладка Proxy → Intercept. Кнопка Intercept is on включает режим перехвата. Когда браузер отправляет запрос, Burp задерживает его и отображает в панели.
Анатомия перехваченного запроса
Типичный перехваченный GET-запрос выглядит так:
text
GET /search?q=test HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Ключевые элементы:
- Метод (
GET,POST,PUT,DELETE) — определяет тип операции.
- Путь и параметры (
/search?q=test) — целевой ресурс и данные запроса.
- Заголовок Host — указывает, какой виртуальный хост обрабатывает запрос.
- Заголовки — метаданные: тип клиента, ожидаемый формат ответа, cookies.
Действия с перехваченным запросом
| Кнопка | Действие |
|---|---|
| Forward | Отправить запрос серверу без изменений |
| Drop | Отбросить запрос (сервер его не получит) |
| Intercept is on/off | Переключить режим перехвата |
| Action | Контекстное меню: отправить в Repeater, Intruder, Decoder и другие инструменты |
Перехват ответов
По умолчанию Burp перехватывает только запросы. Чтобы перехватывать и ответы сервера, включите Intercept Server Responses в настройках Proxy (иконка шестерёнки или меню Options).
Работа с Repeater: ручная модификация запросов
Repeater — инструмент для ручной отправки и модификации отдельных запросов. Это основной рабочий инструмент при исследовании параметров.
Как отправить запрос в Repeater
- Перехватите запрос в Proxy (или найдите его в Proxy → HTTP history).
- Правый клик → Send to Repeater.
- Перейдите на вкладку Repeater.
Практический пример
Допустим, вы перехватили запрос к форме логина:
text
POST /login HTTP/1.1
Host: lab.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 32
username=admin&password=password
В Repeater можно:
- Изменить значение
usernameилиpasswordи отправить запрос повторно.
- Добавить или удалить заголовки.
- Изменить метод с POST на GET и посмотреть, как сервер отреагирует.
- Наблюдать ответ в правой панели: статус-код, заголовки ответа, тело.
На что обращать внимание в ответе
- Статус-код:
200— успех,302— редирект (часто после логина),403— доступ запрещён,500— ошибка сервера.
- Заголовок Set-Cookie: сервер устанавливает сессионную cookie.
- Тело ответа: сообщения об ошибках, которые могут раскрывать информацию о внутренней логике.
HTTP History: журнал всего трафика
Вкладка Proxy → HTTP history хранит все запросы и ответы, прошедшие через прокси. Это основной источник данных для анализа.
Полезные возможности:
- Фильтрация: по хосту, MIME-типу, статус-коду, наличию параметров.
- Поиск: по тексту запроса или ответа.
- Отправка в другие инструменты: правый клик → Send to Repeater / Intruder / Decoder.
Decoder: кодирование и декодирование данных
Decoder преобразует данные между форматами: URL-encoding, Base64, HTML entities, hex. Это полезно, когда нужно:
- Декодировать параметр из URL.
- Закодировать payload для отправки.
- Преобразовать Base64-токен в читаемый вид.
Пример: строка
eyJ1c2VyIjoiYWRtaW4ifQ== в Base64 декодируется в {"user":"admin"}.Учебная лаборатория: Web Security Academy
PortSwigger предоставляет бесплатную платформу Web Security Academy с интерактивными лабораториями, специально созданными для практики с Burp Suite. Каждая лаборатория — изолированное уязвимое веб-приложение, которое нужно эксплуатировать в учебных целях.
Как начать
- Зарегистрируйтесь на Web Security Academy: Free Online Training from PortSwigger.
- Выберите тему (например, SQL injection, XSS, Authentication).
- Откройте лабораторию — она запустится как отдельный домен.
- Настройте браузер на прокси Burp и решайте задачу.
Рекомендуемый порядок тем для новичка
| Порядок | Тема | Что отрабатывает |
|---|---|---|
| 1 | SQL injection | Перехват запросов, модификация параметров в Repeater |
| 2 | Cross-site scripting (XSS) | Внедрение payload в параметры и тело запроса |
| 3 | Authentication | Анализ сессионных механизмов, перебор в Intruder |
| 4 | Access control | Манипуляция заголовками и cookies |
| 5 | SSRF | Модификация URL в параметрах запроса |
Ограничения Community Edition
- Intruder работает с искусственной задержкой (throttling), что делает brute-force непрактичным. Для перебора в лабораториях можно использовать внешние скрипты или дождаться снятия ограничений.
- Нет автоматического сканера — все уязвимости нужно находить вручную.
- Нет сохранения проектов — при закрытии Burp история теряется (используйте Export для сохранения важных запросов).
Типичные ошибки новичков
| Ошибка | Решение |
|---|---|
| Забыли включить Intercept | Проверьте, что кнопка показывает «Intercept is on» |
| Браузер не направляет трафик через прокси | Убедитесь, что прокси настроен именно на тот браузер, которым пользуетесь |
| HTTPS-сайты не загружаются | Установите CA-сертификат Burp: зайдите на http://burp в браузере через прокси и скачайте сертификат |
| Перехват включён, но страница «зависает» | Это нормально: Burp задерживает запрос. Нажмите Forward или выключите Intercept |
| Не видят запросы в HTTP history | Проверьте фильтры — возможно, включён фильтр по хосту или MIME-типу |
Установка CA-сертификата для HTTPS
Без установленного сертификата Burp не сможет расшифровывать HTTPS-трафик, и браузер будет показывать предупреждения о небезопасном соединении.
- Настройте браузер на прокси Burp.
- Перейдите по адресу
http://burp.
- Нажмите CA Certificate и скачайте файл.
- Импортируйте сертификат в доверенные корневые центры сертификации браузера или ОС.
После этого Burp будет генерировать поддельные сертификаты для каждого HTTPS-сайта, и трафик станет полностью видимым.
Чек-лист перед первой лабораторной работой
- [ ] Burp Suite запущен, выбран Temporary project.
- [ ] Браузер настроен на прокси
127.0.0.1:8080.
- [ ] CA-сертификат установлен и добавлен в доверенные.
- [ ] Intercept включён — проверьте, что запросы задерживаются.
- [ ] Открыта лаборатория в Web Security Academy.
- [ ] Понимаете, как отправить запрос в Repeater и модифицировать параметры.
Этого набора достаточно для решения большинства базовых лабораторий Web Security Academy. Дальнейшее развитие — освоение Intruder для автоматизации, работа с расширениями из BApp Store и переход к более сложным техникам эксплуатации.
