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

13 мин.00

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

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

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

Когда я впервые запустил Burp Suite, первые три часа ушли не на поиск уязвимостей, а на войну с настройкой — Firefox отказывался грузить HTTPS-страницы, скачанный сертификат не импортировался, а FoxyProxy гнал трафик в пустоту. Через неделю я случайно ткнул в интерфейсе кнопку Open Browser — оказалось, в Burp Suite есть встроенный браузер, который работает из коробки. Без единой дополнительной настройки. Ни один русскоязычный мануал этого не упоминал. Эта статья — тот гайд, который я хотел бы прочитать в свой первый день: от установки до реальной SQL-инъекции в тестовом приложении, с конкретными кликами и ожидаемым результатом на каждом шаге.

Что такое Burp Suite — инструменты пентестера в одном окне

Burp Suite — платформа для тестирования безопасности веб-приложений от PortSwigger. По сути — MITM-прокси (Man-in-the-Middle): программа встаёт между вашим браузером и веб-сервером, перехватывая каждый HTTP- и HTTPS-запрос. По механике это похоже на технику Adversary-in-the-Middle (T1557, Credential Access / Collection) из MITRE ATT&CK, хотя T1557 описывает перехват трафика злоумышленником между двумя сторонами, а Burp Suite работает как локальный прокси между вашим собственным браузером и сервером. Подробнее — в нашем материале про пентест веб-приложений.

На практике Burp Suite для тестирования веб-приложений даёт четыре вещи:

  • Видеть всё. Каждый запрос, каждый ответ, включая скрытые параметры, куки, токены авторизации — всё, что браузер прячет за красивым интерфейсом.
  • Менять на лету. Любой параметр можно подправить прямо перед отправкой — подставить другую цену, сменить роль пользователя, вставить вредоносную строку.
  • Повторять и сравнивать. Repeater позволяет отправить один и тот же запрос десять раз с разными данными и сравнить ответы сервера.
  • Автоматизировать перебор. Intruder берёт список значений (пароли, ID, payload'ы) и подставляет их в запрос автоматически.

Три редакции. Community Edition бесплатна — Proxy, Repeater, Intruder (с ограничением скорости), Decoder и Comparer. Для обучения и CTF хватает за глаза. Professional Edition за $449/год добавляет автоматический Scanner, Collaborator для blind-уязвимостей и полноскоростной Intruder. Enterprise Edition — для CI/CD-интеграции в командах. Всё, что описано ниже, работает на бесплатной Community.

Установка Burp Suite и первый запуск

Требования к окружению: - ОС: Windows 10+, macOS 10.14+, любой современный Linux-дистрибутив - RAM: минимум 4 ГБ, рекомендуется 8 ГБ (Burp активно жрёт память при большом объёме трафика) - Диск: 500 МБ свободного места - Java: встроена в инсталлятор начиная с версии 2024+, отдельная установка не нужна - Сеть: доступ к интернету для работы с онлайн-стендами

Шаги установки:

  1. Откройте portswigger.net/burp/communitydownload и скачайте инсталлятор для вашей ОС
  2. Запустите установщик — права администратора не требуются
  3. При первом запуске выберите Temporary project (для обучения хватит; New project on disk нужен для долгих тестов с сохранением данных)
  4. Нажмите Use Burp defaultsStart Burp

Через несколько секунд откроется интерфейс с вкладками: Dashboard, Target, Proxy, Intruder, Repeater и другие. Пока нас интересует только Proxy — остальное подключим позже.

Настройка Burp Suite Proxy для перехвата трафика

Proxy — ядро всей работы. Без настроенного прокси Repeater и Intruder бесполезны: они работают с запросами, которые вы сначала перехватили через Proxy. По умолчанию Burp Suite слушает на 127.0.0.1:8080 — задача в том, чтобы направить туда трафик браузера.

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

Самый простой способ начать, о котором молчит большинство русскоязычных мануалов. Согласно документации PortSwigger, встроенный браузер — рекомендуемый вариант для новых пользователей.

  1. Откройте вкладку Proxy → Intercept
  2. Нажмите кнопку Open Browser в правом верхнем углу панели Intercept
  3. Откроется встроенный Chromium — прокси уже настроен, сертификат уже установлен

Три клика — и вы перехватываете HTTPS-трафик. Никаких FoxyProxy, никаких импортов сертификатов. Встроенный браузер поддерживает все стандартные функции Chromium, включая DevTools.

Когда встроенный браузер НЕ подходит:

  • Нужны специфические расширения Firefox (например, для тестирования SAML- или OAuth-потоков)
  • Тестируемое приложение требует конкретный User-Agent
  • Вы работаете в headless-режиме без графического интерфейса

В этих случаях настраивайте Firefox вручную.

Firefox и FoxyProxy — как настроить прокси для пентеста

FoxyProxy — расширение для Firefox, которое позволяет переключать прокси одним кликом вместо ковыряния в настройках каждый раз.

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

Теперь включение и выключение прокси — один клик по иконке. Когда Burp Suite не запущен, обязательно переключайте FoxyProxy обратно в «Disable», иначе браузер не загрузит ни одну страницу: все запросы улетят на 127.0.0.1:8080, где никто не слушает.

Альтернатива без FoxyProxy: Firefox → Настройки → Основные → Параметры сети → Ручная настройка прокси → HTTP-прокси 127.0.0.1, порт 8080, галочка «Использовать этот прокси для всех протоколов». Но менять настройки вручную каждый раз — занятие для мазохистов. FoxyProxy экономит десятки кликов в день.

Перехват HTTPS — установка сертификата Burp

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

Установка сертификата в Firefox:

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

Проверка: откройте любой HTTPS-сайт через прокси. Страница загрузилась без предупреждений — сертификат установлен правильно, Burp Suite расшифровывает HTTPS-трафик.

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

Перехват трафика Burp Suite на практике

Прокси настроен — переходим к перехвату HTTP-запросов. Откройте вкладку Proxy → Intercept.

Кнопка Intercept is on / Intercept is off — главный переключатель. Когда перехват включён, каждый запрос из браузера «застревает» в окне Burp Suite и ждёт вашего решения:

  • Forward — отправить запрос серверу (после ваших изменений или как есть)
  • Drop — убить запрос, сервер его не получит
  • Action → Send to Repeater / Send to Intruder — отправить запрос в другие инструменты

Попробуйте: включите Intercept is on, откройте в браузере http://example.com. В окне Burp Suite появится перехваченный запрос:

GET / HTTP/2
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html,application/xhtml+xml
Accept-Language: en-US,en;q=0.5
Connection: keep-alive

Каждая строка — HTTP-заголовок. Host — адрес сервера, User-Agent — идентификатор браузера, Accept — какие форматы данных браузер готов принять. Замените строку User-Agent на User-Agent: Codeby-Test прямо в окне Intercept и нажмите Forward. Сервер получит запрос с вашим кастомным заголовком — это базовый навык модификации запросов на лету.

Теперь выключите Intercept и походите по нескольким сайтам. Запросы пройдут через Burp без задержки, но запишутся в историю: вкладка Proxy → HTTP history. Полный лог всех запросов и ответов — можно прокрутить назад и изучить любое взаимодействие.

Чтобы HTTP history не превратилась в свалку из запросов к Google Analytics, рекламным трекерам и CDN, настройте Target Scope. Перейдите на вкладку Target → Scope, нажмите Add и введите домен тестового приложения. После этого в HTTP history включите фильтр «Show only in-scope items» — и увидите только нужный трафик.

Burp Suite Repeater — ручное тестирование веб-приложений

Repeater — инструмент для многократной отправки одного запроса с разными параметрами. Если Proxy показывает трафик как поток, то Repeater — лаборатория, где вы препарируете один конкретный запрос.

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

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

Слева — ваш запрос (можно редактировать), справа — ответ сервера. Поменяли параметр, нажали Send, ответ обновился. Можно открыть несколько вкладок Repeater — каждая с отдельным запросом — и переключаться между ними, сравнивая ответы.

Repeater незаменим при поиске уязвимостей веб-приложений: нашли форму поиска — отправили запрос в Repeater — и проверяете десять вариантов payload'ов за минуту, вместо того чтобы каждый раз вбивать данные в браузере, ждать загрузку страницы и искать нужное поле. Горячие клавиши: Ctrl+R — отправить в Repeater, Ctrl+I — отправить в Intruder. Выучите их — руки скажут спасибо.

Первая уязвимость — SQL-инъекция в тестовом веб-приложении

Теория без практики бесполезна. SQL-инъекция входит в OWASP Top 10 как A03:2021 — Injection: приложение подставляет пользовательский ввод в SQL-запрос без фильтрации, и атакующий может изменить логику обращения к базе данных. В MITRE ATT&CK это Exploit Public-Facing Application (T1190, Initial Access).

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

Требования: - Burp Suite Community Edition (установлен и запущен) - Настроенный прокси (встроенный браузер или Firefox + FoxyProxy) - Бесплатный аккаунт на PortSwigger Web Security Academy (portswigger.net/web-security)

Тестируйте уязвимости только на разрешённых стендах. Пентест без авторизации — уголовное преступление. PortSwigger Web Security Academy, DVWA, bWAPP и OWASP Juice Shop — специально созданные уязвимые приложения для обучения.

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

Пошаговый поиск SQL-инъекции через Burp Suite

Работает если: приложение использует строковую конкатенацию для SQL-запросов, входные параметры не параметризованы (prepared statements отсутствуют), сервер возвращает разные ответы для валидных и невалидных запросов.

Не работает если: приложение использует ORM или параметризованные запросы, WAF фильтрует SQL-синтаксис, сервер отвечает одинаково вне зависимости от результата (для этого случая есть blind-инъекция — отдельная тема).

По шагам:

  1. Откройте лабу SQL Injection уровня Apprentice на PortSwigger Web Security Academy
  2. Включите Intercept is on в Burp Suite
  3. На сайте лабы нажмите на любую категорию товаров — например, «Gifts». Burp Suite перехватит GET-запрос
  4. Правой кнопкой → Send to Repeater (Ctrl+R)
  5. Перейдите на вкладку Repeater. Найдите параметр категории в URL — GET /filter?category=Gifts
  6. Замените значение Gifts на Gifts'+OR+1=1-- и нажмите Send
GET /filter?category=Gifts'+OR+1=1-- HTTP/2
Host: <lab-id>.web-security-academy.net
  1. Смотрите на ответ в правой панели: если инъекция сработала, в ответе будут товары из всех категорий, а не только из «Gifts». Условие OR 1=1 всегда истинно, SQL-запрос вернул все строки таблицы.

Для проверки отправьте запрос с category=Gifts'+AND+1=2-- — сервер вернёт пустой список, потому что 1=2 ложно. Разница в ответах подтверждает: пользовательский ввод попадает в SQL-запрос без фильтрации.

Вот и первая уязвимость. В реальном пентесте следующий шаг — определить количество столбцов через ORDER BY и вытащить данные из других таблиц через UNION SELECT. Но это уже продвинутая тема — для начала достаточно подтвердить сам факт инъекции.

Burp Suite Intruder для начинающих — автоматизация перебора

Intruder — инструмент для автоматизированных атак. Если Repeater — снайперская винтовка (один запрос за раз, полный контроль), то Intruder — автомат: сотни запросов с разными значениями из заранее подготовленного списка.

Типичные задачи:

  • Брутфорс логинов и паролей на формах авторизации
  • Перебор ID объектов для обнаружения IDOR (Broken Access Control, OWASP A01:2021)
  • Фаззинг параметров — подстановка спецсимволов и строк для поиска нестандартного поведения

Пошаговая работа с Intruder:

  1. Перехватите POST-запрос формы логина (с полями username и password)
  2. Отправьте в Intruder: правая кнопка → Send to Intruder (Ctrl+I)
  3. На вкладке Intruder → Positions запрос отобразится с автоматически выделенными параметрами — они обёрнуты символами §
  4. Нажмите Clear § (сбросить все выделения), затем вручную выделите значение пароля и нажмите Add § — теперь Intruder будет перебирать только это поле

Типы атак (выбираются на вкладке Positions):

Тип атаки Что делает Когда использовать
Sniper Один список, одна позиция Перебор пароля при известном логине
Battering ram Один список, одно значение во все позиции Проверка, используется ли одно значение в нескольких полях
Pitchfork Параллельный перебор: строка 1 + строка 1 Пары логин-пароль из утечки
Cluster bomb Все комбинации всех списков Полный перебор логин + пароль

На вкладке Payloads загрузите список значений. Для брутфорса подходят словари из SecLists — открытый набор на GitHub с популярными паролями, именами пользователей и фаззинг-строками.

Нажмите Start attack. В Community Edition скорость искусственно ограничена: запросы отправляются с задержкой. Это осознанное решение PortSwigger, чтобы стимулировать покупку Professional Edition. Неприятно, но для учебных задач терпимо.

Как читать результаты: в таблице смотрите на столбцы Status (HTTP-код) и Length (размер ответа). Если один запрос вернул Status 302 (редирект — обычно успешный вход), а остальные дали 200 (страница с «неверный пароль») — вы нашли рабочую комбинацию. Или если Length одного ответа отличается от остальных на сотни байт — кликните на строку и изучите ответ в нижней панели.

Типичные ошибки при работе с Burp Suite

«Сайты не загружаются после настройки прокси»

В 90% случаев: Burp Suite не запущен, а FoxyProxy гонит трафик на 127.0.0.1:8080, где никто не слушает. Запустите Burp Suite или выключите FoxyProxy. Выработайте привычку — закончили работу, сразу переключили FoxyProxy в Disable.

«HTTPS-сайты показывают ошибку сертификата»

Сертификат Burp не установлен в браузере, либо установлен без галочки «доверять при идентификации веб-сайтов». Самый быстрый путь: используйте встроенный браузер Burp, где сертификат стоит из коробки.

«Intercept включён, но ничего не перехватывается»

Трафик из браузера вообще идёт через прокси? Классика — вы открыли Chrome, а FoxyProxy настроен в Firefox. Или FoxyProxy показывает нужный профиль, но фактически не активирован (иконка серая, а не цветная).

«В HTTP history слишком много мусора»

Burp перехватывает всё: запросы к CDN, аналитике, рекламным трекерам, шрифтам Google Fonts. Настройте Target Scope: вкладка Target → Scope → Add, введите домен тестового приложения. В HTTP history включите фильтр «Show only in-scope items».

«Intruder работает невозможно медленно»

Штатное ограничение Community Edition. Для учебных задач используйте Repeater с ручной подстановкой — медленнее, но без искусственного троттлинга.

«Burp Suite съедает всю память»

При длительных сессиях HTTP history разрастается до сотен тысяч запросов. Перед началом работы очистите историю (правая кнопка в HTTP history → Clear history) или настройте Scope, чтобы логировать только нужный домен. Если работаете с проектом дольше одного дня — используйте New project on disk вместо Temporary project, чтобы Burp мог выгружать данные на диск.

За полтора года ежедневной работы с Burp Suite я пришёл к выводу, который многих удивляет: 90% рабочего времени — две вкладки. HTTP history и Repeater. Intruder, Scanner, Sequencer, Comparer — до них руки доходят позже. Новички часто пытаются освоить всё сразу, открывают двадцать вкладок, путаются в потоке данных и решают, что «Burp Suite слишком сложный». Нет. Он простой — если не пытаться проглотить его целиком.

Перехватили запрос, отправили в Repeater, изменили параметр, посмотрели ответ. Когда эта связка станет автоматической (через неделю-две) — добавляйте Intruder. Потом Target Scope и фильтры. Потом расширения из BApp Store. Каждый слой — когда предыдущий стал привычным.

И ещё одна неудобная правда: Community Edition достаточно для обучения, но для работы Professional — не роскошь, а необходимость. Scanner находит уязвимости, которые вручную вы будете искать часами. Collaborator обнаруживает blind SSRF и blind XXE, которые без внешнего сервера вообще невидимы. Но платить $449/год имеет смысл, только когда вы уже понимаете, что конкретно эти инструменты вам дадут. А для этого нужно пройти стадию Proxy + Repeater на бесплатной версии. На IB Basics показываем что делать в первый месяц после «хочу в ИБ» — от базовых концепций до первых задач в инструментах вроде Burp Suite.

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

Поделиться

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

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

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