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

14 мин.00

Burp Suite для начинающих: перехватываем запросы и решаем первые CTF-задачи

Burp Suite для начинающих: перехватываем запросы и решаем первые CTF-задачи

Burp Suite для начинающих: перехватываем запросы и решаем первые CTF-задачи

Первый раз я открыл Burp Suite на задаче с HackTheBox — и 40 минут провозился с настройкой прокси. Ещё 20 ушло на ошибку сертификата вместо формы логина. До самого задания добрался через полтора часа. А задача решалась заменой одного параметра в POST-запросе. Три секунды. Соотношение «борьба с инструментом» к «борьба с задачей» — примерно 30 к 1.

Эта статья — чтобы у вас вышло наоборот: настроить Burp Suite Community Edition за десять минут и сразу перейти к перехвату запросов, изменению параметров и решению веб-задач CTF.

Зачем Burp Suite на CTF и где он в цепочке атаки

Burp Suite — HTTP-прокси, который встаёт между браузером и веб-сервером. Каждый запрос и каждый ответ проходит через него. Вы видите всё в сыром виде: заголовки, куки, скрытые параметры, токены — то, что обычный пользователь никогда не замечает. Подробнее — в нашем статье о пентест веб-приложений.

В терминах MITRE ATT&CK перехват трафика через прокси моделирует технику Adversary-in-the-Middle (T1557, Credential Access). Меняете параметр на лету — Transmitted Data Manipulation (T1565.002, Impact). Перебираете пароли или ID через Intruder — Brute Force (T1110, Credential Access). На CTF-соревнованиях вы отрабатываете эти техники в безопасной среде, чтобы на реальном пентесте понимать, что происходит «под капотом».

В полной цепочке атаки на веб-приложение Burp Suite покрывает этапы разведки и начального доступа (Initial Access, T1190 — Exploit Public-Facing Application). Сначала исследуете приложение через Proxy: какие эндпоинты существуют, какие параметры принимают, как устроена аутентификация. Потом через Repeater точечно тестируете гипотезы — «а что будет, если подставить role=admin?». И наконец через Intruder автоматизируете перебор, когда нужно проверить сотни значений. Всё это — до получения первоначального доступа. Дальше начинается пост-эксплуатация, но там уже другие инструменты.

На CTF для новичков (PicoCTF, HackTheBox Starting Point) большинство веб-задач решаются именно так: перехватил — изменил — получил флаг. Никаких сложных эксплойтов, чистая работа с HTTP-параметрами. Burp превращает это из магии в рутину.

Требования к окружению и установка

Прежде чем запускать Burp Suite, проверьте, что машина тянет.

Требования к окружению: - ОС: Windows 10+, macOS 10.14+, любой современный дистрибутив Linux (на Kali Burp предустановлен — ничего качать не надо) - RAM: минимум 4 ГБ, рекомендуется 8 ГБ (Burp на Java, при активном сканировании ест память как не в себя) - CPU: 2+ ядра - Java: встроена в инсталлятор начиная с версии 2026.4 - Диск: 500 МБ свободного места - Сеть: доступ к интернету для работы с CTF-платформами; для локальных задач — не нужен

Установка: 1. Скачайте Community Edition с portswigger.net/burp/communitydownload — бесплатная версия, которой хватит для всех задач из этой статьи 2. Запустите инсталлятор (права администратора не нужны) 3. При первом запуске выберите Temporary project и Use Burp defaults — для CTF этого достаточно

На Kali Linux Burp уже стоит: запускайте через меню приложений или командой burpsuite в терминале. PortSwigger активно поддерживает Community Edition — обновления выходят регулярно, последний релиз включает единый инсталлятор для Community и Professional.

Настройка прокси Burp Suite: два пути для новичка

Вот тут новички теряют больше всего времени. Два рабочих способа настроить перехват запросов — и выбор между ними реально влияет на ваш комфорт.

Встроенный браузер — быстрый старт без боли

В последних версиях Burp Suite есть встроенный Chromium, который уже настроен на работу через прокси. Откройте вкладку Proxy, нажмите Open Browser — всё. Никаких расширений, никаких сертификатов. Браузер откроется с прокси на 127.0.0.1:8080 и доверенным CA-сертификатом Burp.

Для первых CTF-задач — оптимальный путь. Экономите 15-20 минут настройки и сразу переходите к делу.

FoxyProxy + Firefox — когда нужен контроль

Хотите использовать свой браузер с расширениями (например, с закладками CTF-платформ) — понадобится ручная настройка.

Ставите расширение FoxyProxy для Firefox или Chrome. Создаёте профиль: тип — HTTP, хост — 127.0.0.1, порт — 8080. Теперь одним кликом по иконке FoxyProxy переключаете трафик через Burp или напрямую. Без FoxyProxy придётся каждый раз лезть в настройки браузера — неудобно и забывается. Забыли выключить прокси → сайты не грузятся → паника.

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

Чтобы починить, установите CA-сертификат Burp в браузер: 1. При запущенном Burp откройте в браузере http://burp 2. Нажмите CA Certificate — скачается файл cacert.der 3. В Firefox: НастройкиПриватность и защитаСертификатыПросмотр сертификатов → вкладка Центры сертификацииИмпорт → выберите файл → отметьте Доверять при идентификации веб-сайтов

После этого HTTPS-трафик пойдёт через Burp без предупреждений. Но если честно — для CTF-задач встроенный браузер проще и быстрее. Берите его.

Burp Suite Intercept — перехватываем и меняем параметры запроса

Intercept — ядро Burp Suite для CTF. Когда включён режим перехвата, каждый HTTP-запрос из браузера замирает в окне Burp. Вы видите его целиком: метод, URL, заголовки, тело. Можете изменить что угодно и отправить дальше кнопкой Forward. Или убить запрос — Drop.

Откройте вкладку Proxy → Intercept. Убедитесь, что переключатель показывает Intercept is on. Перейдите в браузере на любой сайт — страница не загрузится. Это нормально: запрос застрял в Burp и ждёт вашего решения.

Нажмите Forward несколько раз, чтобы пропустить запросы. Страница загрузится. Каждый Forward отправляет перехваченный запрос серверу и ловит следующий. Браузеры генерируют десятки запросов на одну страницу (скрипты, стили, картинки, метрики), поэтому для обычного серфинга перехват лучше выключить — переключите на Intercept is off и работайте через HTTP history, где все запросы пишутся автоматически.

Практика: меняем параметр и получаем другой ответ

Типичная CTF-задача для новичков: форма логина со скрытым полем admin=false. Цель — попасть в админ-панель.

На практике это выглядит так: 1. Включите Intercept is on 2. Заполните форму логина на CTF-задаче и нажмите «Войти» 3. В Burp появится POST-запрос с телом username=guest&password=test&admin=false 4. Измените admin=false на admin=true прямо в окне Intercept 5. Нажмите Forward 6. В браузере увидите флаг или админ-панель

Работает, потому что разработчик проверяет параметр admin только на клиенте (в HTML-форме), но не на сервере. По OWASP это A01:2021 — Broken Access Control: ограничения доступа не проверяются на стороне сервера. На реальном пентесте такая находка — критическая уязвимость. На CTF — лёгкие очки.

Горячие клавиши: Ctrl+R — запрос в Repeater, Ctrl+I — в Intruder, Ctrl+F — поиск по тексту запроса. Запомните эти три — сэкономят кучу кликов.

Burp Suite Repeater — отправляем запрос столько раз, сколько нужно

Repeater — второй инструмент, который вы будете использовать на каждой CTF-задаче. Отличие от Intercept: здесь вы работаете с запросом вручную, жмёте Send и сразу видите ответ сервера в соседней панели. Меняете параметр, отправляете снова, сравниваете ответы.

Рабочий процесс: 1. В HTTP history найдите нужный запрос (например, /api/user?id=1) 2. Правой кнопкой → Send to Repeater (или Ctrl+R) 3. Перейдите на вкладку Repeater 4. Измените параметр — id=1 на id=2 5. Нажмите Send 6. В правой панели — ответ: другой пользователь, другие данные

Repeater незаменим, когда тестируете гипотезы. Подставили role=admin — не сработало. role=1 — мимо. isAdmin=true — флаг. Каждая итерация занимает секунды, потому что не нужно заново заполнять форму в браузере.

Практика: тестируем IDOR через Repeater

IDOR (Insecure Direct Object Reference) — одна из самых частых веб-уязвимостей на CTF и в реальных приложениях. Суть: сервер выдаёт данные по числовому ID без проверки прав доступа. Вы авторизованы как пользователь с id=5, но запрашиваете данные id=1 — и сервер их отдаёт.

В Repeater это выглядит так:

GET /api/profile?id=5 HTTP/2
Host: ctf-challenge.example.com
Cookie: session=abc123

---

HTTP/2 200 OK
{"name":"guest","flag":"nope"}

Меняете id=5 на id=1, жмёте Send:

GET /api/profile?id=1 HTTP/2
Host: ctf-challenge.example.com
Cookie: session=abc123

---

HTTP/2 200 OK
{"name":"admin","flag":"CTF{idor_is_easy}"}

Сервер не проверил, имеете ли вы право видеть чужой профиль. Снова A01:2021 — Broken Access Control. На пентесте это уходит в отчёт как критика. На CTF — забрали флаг и пошли дальше.

Ограничение: Repeater работает с одним запросом за раз. Нужно проверить сотни ID — это задача для Intruder.

Burp Suite Intruder — автоматический перебор для веб-задач CTF

Intruder автоматизирует то, что вы делали в Repeater вручную: подставляет разные значения в указанную позицию запроса и показывает все ответы в таблице. По сути это инструмент для Brute Force (T1110, MITRE ATT&CK) — перебора паролей, токенов, ID и чего угодно ещё.

Рабочий процесс: 1. Отправьте запрос в Intruder: правая кнопка → Send to Intruder (или Ctrl+I) 2. На вкладке Positions Burp выделит символами § все параметры для перебора. Нажмите Clear §, чтобы сбросить 3. Выделите значение для перебора (например, 5 в id=5) и нажмите Add §. Получится id=§5§ 4. На вкладке Payloads добавьте список значений — числа от 1 до 100, словарь паролей, набор строк 5. Нажмите Start attack

Intruder покажет таблицу результатов: каждый запрос, код ответа, длина ответа. Ищите аномалии: 99 запросов вернули 150 байт, а один — 450. Этот один и содержит флаг.

Ограничение Community Edition: в бесплатной версии Intruder работает медленно — примерно один запрос в секунду. Для CTF, где нужно перебрать 100-200 значений, терпимо (пара минут). Для реального брутфорса с миллионом комбинаций — нет. Professional Edition снимает ограничение и добавляет многопоточность.

Типы атак Intruder

Для CTF новичкам хватит двух:

  • Sniper — один список, одна позиция. Подставляет каждый элемент по очереди. Берите для перебора ID, паролей по словарю, тестирования одного параметра
  • Pitchfork — несколько списков, несколько позиций. Подставляет элементы параллельно: первый пароль + первый логин, второй + второй. Берите для перебора пар логин-пароль

Когда Intruder не поможет: если приложение использует CSRF-токены — каждый запрос требует свежий токен, стандартный Intruder не справится без расширений (в Pro есть макросы). Если сервер блокирует после N неудачных попыток — перебор без задержек приведёт к блокировке IP.

Decoder — быстрая расшифровка на CTF

Decoder — встроенная утилита для кодирования и декодирования данных. На CTF вы будете натыкаться на Base64, URL-encoding, HTML-entities в куках, токенах и скрытых полях. Вместо онлайн-декодеров — вкладка Decoder прямо в Burp.

Типичный сценарий: видите в куке dXNlcj1hZG1pbg==. Вставляете в Decoder, жмёте Decode as → Base64, получаете user=admin. Теперь понятно, как приложение хранит роль пользователя — и можно подменить значение.

Обратная операция: меняете user=admin на user=superadmin, жмёте Encode as → Base64, получаете dXNlcj1zdXBlcmFkbWlu, подставляете в куку и отправляете через Repeater.

Decoder также умеет хешировать (MD5, SHA-1, SHA-256) — пригодится, когда на CTF нужно подобрать хеш или проверить, совпадает ли ваше предположение с хешем из базы.

Решаем веб-задачу CTF: пошаговый разбор от начала до флага

Собираем всё вместе на примере типичной задачи уровня easy с beginner-CTF-площадок.

Условие: веб-приложение с формой логина. Нужно получить флаг через обход аутентификации.

Шаг 1: Разведка. Открываете сайт задачи во встроенном браузере Burp с выключенным перехватом (Intercept is off). Проходите по всем страницам, заполняете формы — Burp пишет всё в HTTP history. Смотрите Target → Site map — там появляется структура сайта: эндпоинты, методы, параметры.

Шаг 2: Анализ запроса. В HTTP history находите POST-запрос к /login. Тело: username=admin&password=test123. Ответ — 302 Redirect на /login?error=invalid. Стандартное поведение при неверных кредах.

Шаг 3: Тестирование в Repeater. Отправляете запрос логина в Repeater (Ctrl+R). Пробуете классические SQL-инъекции в поле username: значение admin' OR '1'='1' -- (A03:2021 — Injection по OWASP). Если приложение не фильтрует ввод, SQL-запрос на сервере превратится из SELECT * FROM users WHERE username='admin' AND password='test' в SELECT * FROM users WHERE username='admin' OR '1'='1' --' AND password='test' — условие всегда истинно, сервер вернёт данные первого пользователя.

Шаг 4: Анализ ответа. Если инъекция сработала — ответ изменится: вместо 302 → /login?error=invalid увидите 302 → /dashboard или 200 OK с содержимым админ-панели и флагом.

Шаг 5: Если инъекция не сработала — копаете дальше. Проверьте заголовки: может, в куке сидит Base64-значение роли. Проверьте скрытые поля формы. Попробуйте другие эндпоинты из Site map. CTF-задачи всегда имеют решение — вопрос в том, какой вектор предусмотрел автор.

Вся эта последовательность — разведка, гипотеза, тест, анализ — и есть методология тестирования веб-приложений. Burp Suite делает каждый шаг быстрым и воспроизводимым.

Ограничения Community Edition и когда этого недостаточно

Community Edition — полноценный инструмент для обучения и CTF, но с конкретными ограничениями:

Возможность Community Edition Professional
Proxy, Repeater, Decoder Полная функциональность Полная функциональность
Intruder (скорость) ~1 запрос/сек Без ограничений, многопоточность
Scanner (автопоиск уязвимостей) Нет Да
Burp Collaborator (blind SSRF/XXE) Нет Да
Сохранение проектов Только Temporary На диск с полной историей
BApp Store (расширения) Частично Все расширения

Для CTF уровня easy и medium Community Edition хватает с запасом. Упрётесь в ограничения, когда: - Задача требует blind-инъекции с out-of-band каналом (нужен Collaborator) - Нужен массовый перебор с десятками тысяч значений (Intruder слишком медленный) - Хотите автоматически просканировать приложение на стандартные дыры (нужен Scanner)

Professional Edition стоит $449 в год (данные с сайта PortSwigger). Для новичка эта трата не оправдана — лучше потратить время на понимание HTTP-протокола и практику на бесплатных площадках. Когда начнёте участвовать в bug bounty и находить уязвимости за деньги, Pro окупится за одну-две находки.

Частые ошибки новичков и как их избежать

«Включил Intercept, но ничего не перехватывается» — скорее всего, браузер не настроен на прокси Burp. Проверьте: FoxyProxy активен, прокси указывает на 127.0.0.1:8080. Если используете встроенный браузер — убедитесь, что открыли его через Open Browser на вкладке Proxy, а не свой обычный Chrome.

«Сайты не грузятся после настройки» — Burp не запущен, а прокси в браузере включен. Всё, что идёт на 127.0.0.1:8080, уходит в никуда. Либо запустите Burp, либо выключите прокси в FoxyProxy.

«HTTPS показывает ошибку сертификата» — не установлен CA-сертификат Burp. Решение описано выше в разделе про FoxyProxy. Или используйте встроенный браузер — там этой проблемы нет.

«Intercept is on, но страница всё равно грузится» — проверьте правила фильтрации в Proxy → Options → Intercept Client Requests. Burp по умолчанию может пропускать запросы к картинкам, CSS. Для CTF это обычно нормально — вас интересуют POST-запросы к API, а не загрузка иконок.

«Как найти нужный запрос среди сотен?» — фильтры в HTTP history: по хосту (только домен CTF-задачи), по методу (только POST), по коду ответа. Ещё помогает Scope: добавьте домен задачи в Target Scope, и Burp покажет только релевантный трафик. Без этого утонете в мусоре.

Что изучить после первых задач

Освоили Proxy, Repeater и Intruder на уровне «меняю параметры и вижу результат» — следующий шаг: понять, какие уязвимости вы ищете и почему они работают. OWASP Top 10 — стартовая точка: A01 Broken Access Control (IDOR, обход ролей), A03 Injection (SQL, XSS, command injection), A02 Cryptographic Failures (слабые токены, пароли в открытом виде). Каждая категория — десятки CTF-задач, которые решаются через Burp.

PortSwigger Web Security Academy (бесплатная) — на мой взгляд, лучший полигон для отработки. Каждая лаба привязана к конкретной уязвимости с пояснением теории и пошаговым решением. Открываете лабу в браузере, подключаете Burp и решаете. Никаких дополнительных настроек.

Из расширений для BApp Store обратите внимание на JSON Beautifier (форматирует JSON-ответы для удобного чтения) и Autorize (автоматически тестирует авторизацию, отправляя те же запросы от имени другого пользователя). Оба доступны в Community Edition.

За полгода регулярной практики — две-три CTF-задачи в неделю — вы дойдёте до уровня, где Community Edition начнёт ограничивать. К этому моменту у вас будет достаточно понимания HTTP, чтобы сознательно выбрать: переходить на Pro для bug bounty или копать в другие инструменты пентеста.

Половина людей, которые «не могут решить CTF-задачу», на самом деле не могут разобраться с инструментом. Burp Suite — один из тех случаев, когда 90% пользы приходит от 10% функций: Proxy для перехвата, Repeater для ручного тестирования, Intruder для перебора, Decoder для раскодирования. Остальные вкладки (Sequencer, Comparer, Scanner) — для продвинутых сценариев, до которых вы доберётесь позже.

Меня периодически спрашивают, стоит ли сразу покупать Professional Edition для «серьёзного обучения». Моя позиция — нет, это типичная ошибка. Новичок с Pro всё равно использует те же четыре вкладки, что и пользователь Community. Разница проявляется, когда вы уже знаете, что такое blind SSRF и зачем вам Collaborator. А до этого момента Pro — лишняя трата.

Куда полезнее потратить время на понимание того, как HTTP-запрос превращается в SQL-запрос на сервере, почему замена id=5 на id=1 иногда отдаёт чужие данные, и как устроена сессионная аутентификация на уровне кук и токенов. Инструмент — удобный интерфейс для знаний, которые у вас уже есть. Без знаний даже Professional Edition не поможет решить задачу. На IB Basics показывают, что делать в первый месяц после «хочу в ИБ» — и Burp Suite там в первых модулях.

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

Поделиться

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

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

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