Главная / Блог / Burp Suite для начинающих: настройка и первый CTF

11 мин.00

Burp Suite для начинающих: настройка и первый CTF

Burp Suite для начинающих: настройка и первый CTF

На первом CTF я убил два часа на задание, которое решалось за три минуты. Форма логина, два поля — username и password. Перебрал SQL-инъекции, попробовал XSS — глухо. Потом запустил Burp Suite, перехватил POST-запрос и увидел в теле скрытый параметр role=user. Заменил на role=admin — флаг на экране. С тех пор Burp — первое, что запускается на любом веб-таске. Это руководство по настройке Burp Suite для начинающих: от установки до решения первого CTF-задания. Без теории ради теории.

Зачем Burp Suite нужен в CTF

Burp Suite — HTTP-прокси от PortSwigger, который встаёт между браузером и сервером. Каждый запрос и каждый ответ проходят через него. Можно остановить запрос, поменять любое поле — заголовок, cookie, параметр тела — отправить дальше и посмотреть, что скажет сервер. По данным Bugcrowd, Burp Suite — индустриальный стандарт: «nearly every professional web pentest and bug bounty workflow runs through it or a tool like it». Подробнее — в нашем подробном разборе пентест веб-приложений.

Для CTF веб-тасков это даёт конкретные вещи:

  • Скрытые параметры в HTML-формах, невидимые в браузере, видны в raw-запросе
  • Cookie с base64-закодированными ролями можно декодировать и подменить прямо в заголовке
  • Ответы сервера с закомментированными подсказками или флагами видны в полном ответе
  • Один запрос можно отправить десятки раз с разными значениями через Repeater — без перезагрузки страницы

Burp Suite Community Edition бесплатна и содержит всё, что нужно для CTF: Proxy, Repeater, Decoder и Intruder (с ограничением скорости). Сканер уязвимостей — только в Professional, но для CTF он и не нужен. Задачи решаются руками, через понимание логики приложения.

Установка Burp Suite Community Edition

Инсталлятор качается с официального сайта portswigger.net/burp/releases#community. Начиная с версии 2026.4 PortSwigger использует единый установщик для Community и Professional — при запуске выбираете нужную редакцию.

Минимальные системные требования: Windows 10+, macOS 10.14+ или любой современный Linux-дистрибутив, 4 GB RAM (рекомендуется 8 GB). Java 17+ встроена в инсталлятор — отдельно ставить ничего не нужно.

При первом запуске: Temporary project → Use Burp defaults → Start Burp. Для CTF-задач временного проекта хватает за глаза — сохранять историю между сессиями обычно незачем. Сразу переключите тему на тёмную: Settings → Display → Theme → Dark. Глаза скажут спасибо после пары часов разбора запросов.

Настройка прокси Burp Suite — пошаговая инструкция

Burp Suite proxy по умолчанию слушает на 127.0.0.1:8080. Остаётся направить туда трафик браузера. Два способа — выбирайте, какой удобнее.

Быстрый путь — встроенный браузер Burp

Во вкладке Proxy → Intercept жмёте Open Browser. Откроется встроенный Chromium, уже настроенный для работы с Burp: никаких прокси-настроек, никаких сертификатов. Документация PortSwigger описывает его как «preconfigured to work with Burp right out of the box».

Минус: это отдельный браузер без ваших закладок и расширений. Для быстрого CTF-таска — идеальный вариант. Для постоянной работы лучше настроить Firefox через FoxyProxy.

Настройка FoxyProxy в Firefox

FoxyProxy — расширение для переключения прокси одной кнопкой. Без него придётся каждый раз лезть в сетевые настройки Firefox вручную.

Процесс установки:

  1. Откройте Firefox, перейдите в about:addons
  2. Найдите FoxyProxy Standard, установите
  3. Нажмите на иконку FoxyProxy в панели инструментов → Options
  4. Нажмите Add и заполните поля: Title — Burp Suite, Proxy Type — HTTP, Proxy IP — 127.0.0.1, Port — 8080
  5. Сохраните конфигурацию

Теперь переключение между обычным интернетом и работой через Burp — один клик на иконку FoxyProxy. Выбираете профиль «Burp Suite» — трафик идёт через прокси. Выбираете «Turn Off» — браузер работает напрямую.

Критический момент: пока FoxyProxy направляет трафик на Burp, а сам Burp не запущен — ни один сайт не загрузится. Это не баг. Запустите Burp или выключите FoxyProxy.

Установка SSL-сертификата Burp Suite

Без этого шага каждый HTTPS-сайт покажет ошибку безопасности. Burp Suite генерирует собственный CA-сертификат для подписи перехваченного HTTPS-трафика, и браузер должен ему доверять.

  1. Запустите Burp Suite, включите FoxyProxy на профиль «Burp Suite»
  2. В браузере перейдите на http://burp (именно HTTP, не HTTPS)
  3. Нажмите CA Certificate — скачается файл cacert.der
  4. В Firefox: Настройки → Приватность и защита → прокрутите до блока «Сертификаты» → Просмотр сертификатов
  5. Вкладка «Центры сертификации» → Импорт → выберите скачанный файл
  6. Поставьте галочку «Доверять при идентификации веб-сайтов» → OK

Проверка: перейдите на любой HTTPS-сайт (например, google.com). Страница загружается без предупреждений — сертификат работает. В Burp во вкладке Proxy → HTTP history вы увидите расшифрованные HTTPS-запросы.

Самая частая ошибка новичков: всё настроили, HTTP-сайты работают, а HTTPS выдаёт SEC_ERROR_UNKNOWN_ISSUER. Причина — пропущенный шаг с сертификатом. Без CA-сертификата перехват HTTPS-трафика в Burp Suite невозможен. Точка.

Перехват HTTP-запросов — первый Intercept

Включение перехвата

  1. В Burp откройте вкладку Proxy → Intercept
  2. Убедитесь, что переключатель стоит на Intercept is on
  3. В браузере (через FoxyProxy на Burp) перейдите на любой сайт

Страница «зависнет» — это нормально. Burp задержал запрос до вашего решения. Во вкладке Intercept вы увидите raw HTTP-запрос: метод GET или POST, URL, заголовки Host, User-Agent, Cookie и тело запроса.

Три кнопки управления:

  • Forward — отправить запрос дальше на сервер
  • Drop — уничтожить запрос (сервер его не получит, действие отменится)
  • Intercept is on/off — глобальный переключатель перехвата

Нажмите Forward несколько раз, пока страница не загрузится полностью. Браузер отправляет десятки запросов на одну страницу: HTML-документ, CSS-стили, JavaScript-файлы, изображения, метрики аналитики. Каждый из них проходит через Burp. Да, это утомительно — поэтому дальше про HTTP history.

HTTP History — просмотр без перехвата

Для CTF постоянный перехват неудобен: каждый запрос приходится пропускать вручную. Переключите Intercept на off и просто пользуйтесь сайтом как обычно. Все запросы записываются в Proxy → HTTP history.

В истории можно:

  • Просматривать каждый запрос и ответ в сыром виде
  • Фильтровать по домену, HTTP-методу, статус-коду
  • Искать текст внутри запросов и ответов
  • Отправлять интересные запросы в Repeater для модификации

Документация PortSwigger говорит, что просмотр HTTP history после взаимодействия с сайтом «is more convenient in many cases». На практике именно так и работаешь: сначала изучаете приложение как обычный пользователь — кликаете по ссылкам, отправляете формы, логинитесь. Потом открываете HTTP history и разбираете записанный трафик. Это и есть рабочий процесс на CTF.

Repeater — главное оружие для CTF веб-тасков

Proxy → Intercept ловит запросы на лету. Repeater позволяет взять любой запрос, изменить его и отправить столько раз, сколько потребуется. Для web CTF заданий это основной рабочий инструмент. Я бы сказал — 80% решений рождаются именно здесь.

Как отправить запрос в Repeater

  1. В HTTP history найдите нужный запрос (POST на форму логина, GET с интересными параметрами)
  2. Правый клик → Send to Repeater (или Ctrl+R)
  3. Перейдите на вкладку Repeater

Слева — запрос, который можно редактировать. Справа — ответ сервера. Изменили параметр, нажали Send, изучили ответ. Изменили снова — Send. Браузер не участвует.

Типичные манипуляции для CTF

Подмена cookie — частый CTF-паттерн. Сервер выставляет cookie вида user=guest или isAdmin=false. В Repeater находите заголовок Cookie: и меняете значение. Если isAdmin=false заменить на isAdmin=true и сервер это проглотит без серверной проверки — перед вами Broken Access Control (A01:2021 по OWASP Top 10).

Модификация скрытых POST-параметров — HTML содержит <input type="hidden" name="price" value="100">. В браузере поле невидимо. В Burp Suite вы видите price=100 в теле запроса и можете заменить на price=0. Сервер доверяет данным от клиента без валидации — классика.

Смена HTTP-метода — некоторые CTF-задания проверяют, как сервер реагирует на GET вместо POST или наоборот. В Repeater метод меняется редактированием первой строки запроса. Одна буква — другой результат.

Подмена User-Agent — задание может проверять, с какого «браузера» пришёл запрос. Замена строки User-Agent на требуемое значение (Admin-Console, конкретную версию или строку бота) решает такие задачи.

Решаем CTF веб-задание: полный разбор

Разберём пошагово типичный CTF-сценарий. Паттерн основан на распространённых заданиях CTF-платформ начального уровня: подмена параметров и декодирование данных.

Разведка: изучаем запросы

Открываете CTF-задание в браузере через Burp-прокси. На странице — форма логина с полями username и password. Вводите admin / password, получаете «Access denied». DevTools браузера показывают стандартную форму — ничего подозрительного.

Переходите в Burp → Proxy → HTTP history. Находите POST-запрос к /login. Смотрите тело:

POST /login HTTP/1.1
Host: ctf-challenge.example
Content-Type: application/x-www-form-urlencoded

username=admin&password=password&role=user

Параметр role=user — его не было видно на странице. Скрытое поле формы, которое браузер отправляет автоматически. В DevTools его можно найти, но в потоке HTML легко пропустить. В Burp он виден сразу — в raw-запросе скрыть ничего нельзя.

Эксплуатация через Repeater

Отправляете запрос в Repeater (Ctrl+R). Меняете role=user на role=admin. Жмёте Send.

Ответ сервера изменился: вместо «Access denied» пришёл HTML с текстом «Welcome, admin!» и строкой flag: Q29kZWJ5X0JTX0ZsYWc=. Сервер не проверял значение параметра role на стороне бэкенда — тупо доверился клиентским данным. Классический Broken Access Control.

Декодирование флага через Decoder

Строка Q29kZWJ5X0JTX0ZsYWc= заканчивается на = — характерный признак Base64. Откройте вкладку Decoder в Burp Suite, вставьте строку, нажмите Decode as → Base64. Результат — читаемый текст флага.

Decoder поддерживает URL-кодирование, HTML-entity, hex и другие форматы. В CTF встречаются многоуровневые кодировки — этакие матрёшки: Base64 внутри URL-encode, например. Decoder позволяет применять декодирование последовательно: результат первого декодирования подаёте на вход второго.

Весь процесс от открытия задания до флага — 5-10 минут, когда знаешь алгоритм. Без Burp Suite на это ушёл бы час ковыряния в DevTools, и скрытый параметр в POST-теле легко пропустить.

Intruder для автоматизированного перебора

Когда нужно проверить множество значений в одном параметре, ручной Repeater медленный. Burp Suite Intruder автоматизирует перебор и пригодится для CTF-задач:

  • Перебор ID пользователей для поиска IDOR-уязвимостей
  • Подбор коротких PIN-кодов или токенов
  • Фаззинг параметров спецсимволами

Алгоритм работы:

  1. Правый клик на запрос → Send to Intruder
  2. Вкладка Positions: выделите значение для перебора, нажмите Clear §, затем Add § вокруг нужного параметра
  3. Вкладка Payloads: добавьте список значений вручную или загрузите из файла
  4. Start attack

Intruder покажет таблицу результатов с каждым payload, статус-кодом и длиной ответа. Ищите аномалии: если 99 запросов дали ответ длиной 1200 байт, а один — 3400 байт, этот payload заслуживает внимания в Repeater.

В Community Edition Intruder ограничен по скорости — примерно один запрос в секунду. Для CTF хватает: задания редко требуют перебора тысяч значений. Для серьёзного брутфорса потребуется Pro-версия или внешние инструменты вроде ffuf и hydra.

Ошибки новичков при работе с Burp Suite

Эти проблемы встречаются при каждом первом запуске. Я сам через все прошёл.

Сайты не открываются — FoxyProxy направляет трафик на Burp, при этом Intercept включён. Каждый запрос ждёт нажатия Forward. Решение: выключите Intercept, если не нужен пошаговый перехват. Трафик по-прежнему записывается в HTTP history.

HTTPS выдаёт ошибку сертификата — не установлен CA-сертификат Burp Suite. Без него браузер не доверяет подписи Burp и блокирует соединение. Вернитесь к разделу установки SSL-сертификата.

HTTP history забита мусором — Burp записывает абсолютно всё: метрики Google Analytics, запросы к CDN, обновления расширений Firefox. Решение: в Target → Scope добавьте домен CTF-платформы. В HTTP history включите фильтр «Show only in-scope items». Мусора станет на порядок меньше.

Интернет «пропал» после закрытия Burp — FoxyProxy всё ещё гонит трафик на несуществующий прокси. Нажмите на иконку FoxyProxy → Turn Off. Привыкните проверять FoxyProxy первым делом, когда «не работает интернет».

Repeater возвращает ошибку, хотя в браузере всё работало — в запросе отсутствует обязательный заголовок. Чаще всего это Cookie с идентификатором сессии или неправильный Content-Type. Сравните запрос в Repeater с оригиналом в HTTP history — найдите различия.

Горячие клавиши для ускорения работы

На CTF-соревнованиях время ограничено. Эти сочетания экономят минуты:

  • Ctrl+R — отправить запрос в Repeater
  • Ctrl+I — отправить в Intruder
  • Ctrl+Shift+R — повторить последний запрос
  • Ctrl+F — поиск внутри запроса или ответа (незаменимо для поиска flag{ или ctf{ в длинных ответах сервера)

От перехвата к полноценному пентесту

Burp Suite proxy и Repeater закрывают основную массу CTF веб-тасков начального уровня. Куда копать дальше:

SQL-инъекции — параметр запроса попадает напрямую в SQL-запрос на сервере. Через Repeater подставляются payload'ы и анализируется изменение ответа. Категория Injection (A03:2021 по OWASP Top 10) — одна из самых распространённых уязвимостей, и на CTF она встречается постоянно.

XSS (Cross-Site Scripting) — внедрение JavaScript через пользовательский ввод. В Burp видно, где введённое значение отражается в ответе сервера. Это упрощает поиск reflected XSS — не нужно гадать, какое поле уязвимо.

IDOR (Insecure Direct Object Reference) — подмена идентификатора объекта. Запрос GET /api/user/123 возвращает ваши данные. А что вернёт /api/user/124? Intruder позволяет перебрать диапазон ID автоматически и найти чужие записи.

SSRF (Server-Side Request Forgery) — принуждение сервера обратиться к внутреннему ресурсу. OWASP выделяет SSRF в отдельную категорию рисков (A10:2021). Через Repeater можно подставить внутренние адреса вместо внешних URL и проверить, обращается ли сервер к ним.

Все эти техники строятся на одном навыке: перехватить запрос, понять его структуру, изменить нужный параметр, проанализировать результат. Burp Suite для начинающих — прежде всего умение читать HTTP-трафик между браузером и сервером.

Большинство новичков тратят недели на изучение каждой вкладки Burp Suite по отдельности: Scanner, Comparer, Sequencer, расширения из BApp Store. На практике для первых 30-40 CTF веб-тасков хватает трёх вкладок: Proxy, Repeater и Decoder. Не инструмент делает пентестера, а понимание того, что происходит в HTTP-запросе. Я встречал людей, которые знали каждую настройку Burp Professional, но не могли объяснить, зачем серверу заголовок Content-Type. И наоборот — тех, кто решал задачи через curl и блокнот, потому что понимали протокол на уровне байтов. Инструмент ускоряет работу, но не заменяет знание основ. После первых экспериментов с перехватом стоит разобраться, как устроен HTTP на уровне заголовков, методов, статус-кодов и механизмов аутентификации — без этого фундамента любой инструмент остаётся чёрным ящиком с кнопками. На IB Basics эту связку «протокол + инструмент» проходят с лабами, а не слайдами — для тех, кому мало CTF-площадок без объяснений «почему».

🚀 Хочешь закрепить на практике? Реши задачи по теме на HackerLab — категория «web».

Поделиться

0 комментариев

Пожалуйста, войдите, чтобы оставить комментарий.

Загрузка комментариев...

Читайте также

Анализ PCAP с tshark: CLI-автоматизация для CTF

12 мин.

3

Анализ PCAP с tshark: CLI-автоматизация для CTF

Готовые команды tshark для разбора CTF-тасков: DNS-туннели, credential hunting, ICMP-каналы, экстракция файлов. Чеклист из 8 шагов и Python-обвязка.

15 ОКТЯБРЬ, 2026

Nmap для начинающих: от первого скана до CTF

13 мин.

3

Nmap для начинающих: от первого скана до CTF

Пошаговый workflow Nmap: типы скана, чтение вывода, NSE-скрипты и 3-шаговый алгоритм для решения network-тасков CTF. Практика вместо справочника флагов.

14 ОКТЯБРЬ, 2026

Command injection эксплуатация в CTF-тасках

12 мин.

4

Command injection эксплуатация в CTF-тасках

Пошаговый разбор OS command injection в CTF: операторы цепочки, blind injection через sleep и DNS, обход фильтров ANSI-C quoting и ${IFS} — от находки до shell.

14 ОКТЯБРЬ, 2026