Burp Suite для тестирования безопасности веб-приложений

Проверяем всё: от перехвата запросов до перебора логинов

Burp Suite для тестирования безопасности веб-приложений

Когда вы открываете сайт, вводите логин или просто листаете каталог — весь трафик между вами и сервером может быть проанализирован, вскрыт и даже взломан. Вопрос в том, кто это сделает первым — вы или злоумышленник.

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

Сегодня разберём подробно, что это за инструмент и что он умеет.

Что такое Burp Suite

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

Burp появился в начале 2000-х, когда пентестер Дафид Стаддард (Dafydd Stuttard) устал вручную искать баги на сайтах. Он начал писать инструмент для себя, потом увлёкся — и так запустил PortSwigger, компанию, под крылом которой Burp Suite теперь развивается как один из самых мощных инструментов в инфобезопасности.

Burp есть трёх видов:

  • Community Edition — бесплатная, урезанная версия. Подойдёт, чтобы учиться и делать базовое ручное тестирование.
  • Professional — платная, с автоматическим сканером, Intruder и кучей фич для реальной работы.
  • Enterprise — если нужно тестировать много проектов и делать отчёты для менеджеров.

В Burp есть множество разных инструментов. Одни помогают перехватывать и редактировать HTTP-запросы (Proxy, Repeater), другие — автоматизировать атаки (Intruder, Scanner), а третьи — анализировать ответы, проверять токены, сравнивать запросы и т. д. Дальше разберём всё подробнее.

Словарик пентестера

В инфобезе много специфических терминов. Если только начинаете во всём разбираться, можно легко запутаться. Чтобы не гуглить каждую строчку из этой статьи, собрали мини-словарик по терминам, которые встречаются в тексте.

Брутфорс — подбор значений (чаще всего логина или пароля) методом прямого перебора, то есть тупо в лоб. Например, если есть список 10 000 популярных паролей, можно прогнать его и посмотреть, какой сработает.

Перехват (intercept) — возможность поймать запрос, который браузер хочет отправить на сервер, изменить его и вручную отправить.

Протокол HTTP/HTTPS — язык, на котором браузер и сервер общаются друг с другом. HTTP — обычный, HTTPS — с шифрованием.

Прокси-сервер (proxy) — посредник между браузером и сайтом. Burp Suite работает как прокси: он перехватывает все запросы и позволяет с ними работать.

Фаззинг (fuzzing) — метод, при котором в параметры запроса подсовываются всякие мусорные данные, чтобы посмотреть, что сломается.

Эндпоинт (endpoint) — точка взаимодействия клиента с сервером. Например, https://site.com/login — это эндпоинт логина. У каждого действия (регистрация, получение профиля, выход) свой эндпоинт.

Base64, URL-encoding, Hex — способы кодировки текста. Иногда сайты шифруют токены или данные формы этими методами. Их можно декодировать в Burp.Cookie (куки) — небольшие кусочки данных, которые сохраняются в браузере и используются для авторизации или хранения состояния.

JWT (JSON Web Token) — формат токена, содержащий закодированную информацию о пользователе. Обычно выглядит как три строки, разделённые точками.

Payload — полезная нагрузка запроса. Например, тело POST-запроса, где передаются данные формы (логин, пароль и т. д.). Сам запрос может быть при этом большим, потому что в нём много лишних данных, а полезная нагрузка при этом — маленькой.

SQL-инъекция (SQLi) — уязвимость, при которой злоумышленник может внедрить свой SQL-запрос в базу данных. Часто используется в полях ввода.

Timing attack — атака, при которой злоумышленник определяет, как система обрабатывает данные по времени ответа.

Token — специальная строка, которая идентифицирует пользователя. Если получить чей-то токен, можно притвориться этим пользователем.XSS (Cross-Site Scripting) — уязвимость, при которой на сайт можно внедрить вредоносный JavaScript-код. Например, чтобы украсть куки пользователя.

User Enumeration — техника, при которой атакующий по различиям в ответах сервера может определить, существует ли указанный логин или пользователь. Например, если на один ввод сервер возвращает «Неверный пароль», а на другой — «Пользователь не найден», это позволяет перебором логинов выявить существующие аккаунты.

Основные компоненты Burp Suite

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

Burp Suite для тестирования безопасности веб-приложений

Burp Proxy

Proxy — это основа Burp Suite. Он перехватывает все HTTP(S)-запросы между браузером и сайтом, чтобы можно было увидеть, изменить или заблокировать их прямо на лету. Подключаем браузер к прокси, включаем перехват — и смотрим, что уходит и приходит.

Например, вы открываете страницу логина в браузере, вводите логин и пароль, жмёте «Войти». Запрос уходит — и в этот момент Burp перехватывает его. Во вкладке Proxy → Intercept можно увидеть весь HTTP-запрос: метод (например, POST), адрес, заголовки, тело запроса — включая логин, пароль, токены, куки.

Запрос можно остановить, отредактировать как угодно (например, поменять логин на admin или убрать CSRF-токен), и вручную отправить дальше. Это позволяет проверять, как сервер реагирует на изменения: отрабатывает ли защита, выдаёт ли ошибки, можно ли что-то обойти.

Burp Suite для тестирования безопасности веб-приложений

Полезно:

  • Чтобы увидеть всё, что отправляет браузер, включая скрытые поля и заголовки.
  • Для изучения структуры запросов и работы API.
  • Чтобы перебрасывать запросы в другие инструменты (Repeater, Intruder).
  • Чтобы находить уязвимости на ровном месте — в параметрах, куках и скрытых полях.

Burp Repeater

Repeater — это ручной инструмент. Он не сканирует сам, не атакует, не подсказывает. Умеет повторять HTTP-запросы с ручными правками. Кидаем в него интересный запрос из Proxy, меняем заголовки, параметры, тело — и жмём Send. Можно проверить любые свои гипотезы без автоматики.

Burp Suite для тестирования безопасности веб-приложений

Допустим, хотим проверить, как система реагирует на попытку входа с другим логином. Заходим в форму логина, вводим admin:1234, отправляем — Burp Proxy ловит запрос. Перекидываем его в Repeater. Меняем username=admin на username=superadmin, жмём Send, смотрим ответ сервера и делаем выводы:

  • если 200 OK и в ответе видим «Добро пожаловать, superadmin» — тревожный звонок;
  • если 403 Forbidden — доступ запрещён, значит, фильтруют логины;
  • если 500 Internal Server Error — может быть баг;
  • если ответы одинаковые, но отличаются по времени — возможно, уязвимость на время ответа (timing attack).

Полезно:

  • Когда не хотим писать скрипты, но нужно точечно протестировать что-то вручную.
  • Когда смотрим, как меняется поведение при разных заголовках (User-Agent, Referer, X-Forwarded-For).
  • Когда нужно проверить, можно ли обойти валидацию на клиенте, просто изменив тело запроса (например, убрать флаг isAdmin=false → true).

Burp Intruder

Intruder — это автоматический инструмент для тестирования. Умеет подставлять тысячи значений в любой параметр запроса и отслеживать, что изменится в ответе. Брутфорс, фаззинг, перебор токенов, тест на SQL/XSS — всё здесь.

Например, на сайте есть форма входа с полем username= и вы хотите выяснить, какие логины реально существуют. Открываем запрос в Intruder, ставим маркер на username, загружаем туда список логинов — и запускаем атаку. Intruder отправляет запросы по очереди, подставляя каждый логин, и показывает, как реагирует сервер.

Burp Suite для тестирования безопасности веб-приложений

Полезно:

  • Для брутфорса логинов и паролей, токенов, session ID.
  • Для фаззинга — проверка, как система реагирует на нестандартные инпуты ('; DROP TABLE, <script>, ../etc/passwd).
  • Для поиска скрытых параметров и багов, которые не видны на глаз.

Burp Scanner (только в pro-версии)

Scanner — это пентестер-бот. Он автоматом ищет уязвимости в HTTP-запросах: XSS, SQLi, SSRF, IDOR и кучу других. Работает только в pro-версии, но зато даёт наглядные отчёты и сильно экономит время.

Например, вы проходите по сайту: логинитесь, заполняете формы, кликаете по кнопкам — Burp Proxy в фоновом режиме фиксирует все запросы и строит карту эндпоинтов. Дальше открываете Burp Scanner, запускаете сканирование — и через пару минут получаете отчёт: вот тут можно внедрить XSS, вот тут утекает чувствительная информация, а тут — криво настроен CORS, поэтому сторонний сайт может получить доступ к API.

Burp Suite для тестирования безопасности веб-приложений

Сканер сам прогоняет типовые тесты безопасности и показывает уязвимости с приоритетами, пояснениями и иногда рекомендациями по фиксам. Удобно, если нужно быстро оценить безопасность сайта, не ковыряясь вручную в каждом запросе.

Полезно:

  • Чтобы автоматически находить дыры в безопасности.
  • Чтобы сэкономить время на рутинной проверке — особенно в больших проектах.
  • Для составления отчёта для заказчика или команды.

Другие инструменты Burp

  • Decoder — переводчик кодировок. Вставляем туда кусок текста или запроса — он сам определяет кодировку (URL, Base64, HTML, hex, gzip) и расшифровывает. Можно править результат и перекодировать обратно.
  • Comparer — сравнивает два запроса или ответа побайтно. Удобно, когда нужно понять, чем отличается один ответ от другого (например, на успешный и неуспешный логин).
  • Sequencer — анализирует сессионные токены на предсказуемость. Кидаем в него токены — он говорит, насколько они случайно сгенерированы. Полезно для проверки безопасности авторизации.
  • Extender — даёт возможность подключать плагины (BApps) и писать свои. Через него можно добавить кастомные фичи, которые превосходят стандартные инструменты.
  • Collaborator — нужен для Out-of-Band атак (типа SSRF, Blind XSS). Генерирует уникальные адреса, чтобы отследить, «пошёл ли запрос наружу».
  • Logger++ / HTTP History — показывает всю историю запросов/ответов, включая заголовки, куки, тело. Logger++ мощнее: фильтрация, поиск, кастомные поля.

Установка и настройка Burp Suite

Рассмотрим способы установки Burp на разных платформах.

Установка на Windows

Самый простой путь — скачать Burp Suite Community Edition с официального сайта portswigger.net. Переходим в раздел Download, выбираем версию под Windows и качаем .exe-установщик.

Burp Suite для тестирования безопасности веб-приложений

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

  • Запускаем Burp.
  • При первом старте выбираем Temporary project → Use Burp defaults.
  • Жмём Start Burp — готово, интерфейс открыт.

Если нужна pro-версия — она платная, но даёт доступ к автоматическому сканеру, Intruder на полной скорости и другим фишкам. Но для обучения обычно хватает Community.

Установка на Linux

На Linux тоже всё просто:

  • Заходим в раздел Download и качаем .sh-инсталлятор.
Burp Suite для тестирования безопасности веб-приложений
  • Делаем файл исполняемым:

chmod +x burpsuite_community_linux.sh

  • Запускаем установку:

./burpsuite_community_linux.sh

После установки запускаем как обычное приложение, выбираем Temporary project — и всё готово!

Настройка прокси-сервера

Чтобы Burp мог перехватывать трафик из браузера, нужно подключить его как прокси. Мы можем использовать встроенный браузер Burp, тогда ничего делать не нужно — всё уже готово. Но если хотим работать через другой браузер, тогда придётся прописать вручную параметры и установить сертификат.

Burp Suite для тестирования безопасности веб-приложений
  1. Переходим в Burp → Proxy → вкладка Settings. Проверяем, что Proxy Listener запущен на адресе 127.0.0.1:8080. Это и есть точка, через которую пойдёт трафик.
  2. В настройках браузера (например, в Firefox) указываем прокси вручную:

    HTTP proxy: 127.0.0.1, Port: 8080

  3. Убедитесь, что в Burp на вкладке Proxy → Intercept активна кнопка Intercept is on — она должна быть включена. Это нужно, чтобы Burp ловил запросы и давал вам возможность их редактировать до отправки.

Burp Suite для тестирования безопасности веб-приложений

⚠️ Важно: если Intercept выключен, Burp будет просто транслировать трафик, ничего не показывая. А если включён — все запросы будут зависать до вашего действия: тогда нужно жать либо Forward либо Drop.

Дальше, чтобы Burp мог перехватывать зашифрованный трафик (HTTPS), нужно установить его сертификат в браузер. Иначе сайты будут ругаться на «недоверенный сертификат» и просто не откроются.

Как установить:

Burp Suite для тестирования безопасности веб-приложений
  1. Убедитесь, что Burp Suite запущен и прокси работает.
  2. В браузере откройте адрес: http://burpsuite (да-да, без .com — это встроенный локальный сайт Burp).
  3. Нажимаем CA Certificate в верхнем углу — начнётся скачивание .cer-файла.
  4. Переходим в Настройки → Приватность и защита → Сертификаты → Просмотр сертификатов.
  5. Нажимаем «Импортировать», выбираем скачанный файл и подтверждаем установку.
Burp Suite для тестирования безопасности веб-приложений

Burp Suite для тестирования безопасности веб-приложений

Теперь Burp сможет расшифровывать HTTPS-запросы и показывать их в Intercept так же, как обычные. Попробуем зайти на любой HTTPS-сайт (например, https://thecode.media/). Если всё сделано правильно, Burp покажет запрос во вкладке Proxy → Intercept.

Burp Suite для тестирования безопасности веб-приложений

Вам слово

Приходите к нам в соцсети поделиться своим мнением об этом инструменте для тестирования сайтов и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте — шпаргалки, опросы и разная дурка. В общем, вот тележка, вот ВК — велком!

Обложка:

Алексей Сухов

Корректор:

Александр Зубов

Вёрстка:

Егор Степанов

Соцсети:

Юлия Зубарева

Вам может быть интересно
hard