• Твой профиль заполнен на 0%. Заполни за 1 минуту, чтобы тебя нашли единомышленники и работодатели. Заполнить →
Исследователь безопасности за тёмным столом, два монитора освещают комнату. На экранах — интерфейс перехвата HTTP-запросов в янтарном и зелёном свете.


Помню свой первый день с Burp Suite: два часа убил на то, чтобы понять, почему ни один сайт не открывается после настройки прокси. Оказалось - забыл запустить сам Burp. Звучит тупо, но эту ошибку совершает каждый второй новичок. Собственно, поэтому и написал этот материал: никакой абстрактной теории - только конкретные действия, которые приведут от чистой установки до обнаружения настоящей уязвимости на учебном стенде.

Если хотите начать веб-пентест с нуля, но не знаете, с какой стороны подступиться - читайте дальше.

Что такое Burp Suite и почему именно он​

Burp Suite - платформа для тестирования безопасности веб-приложений от компании PortSwigger. Инструмент создал Dafydd Stuttard, взявший себе сетевой псевдоним «PortSwigger» ещё во времена хакерских форумов. Со временем его утилита для перехвата веб-трафика выросла в полноценный набор инструментов, которым пользуются пентестеры по всему миру.

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

По сути - MitM-позиция, но технически Burp Suite - forward proxy, настроенный самим пользователем в своём браузере. Это не техника T1557 (Adversary-in-the-Middle), где перехватывают чужой трафик через манипуляцию сетевыми протоколами. Burp - инструментарий пентестера на этапах разведки и тестирования.

Какую версию выбрать​

Для обучения пентесту веб-приложений хватит бесплатной Community Edition. Вот что в ней есть:

ВозможностьCommunity (бесплатно)Professional ($475/год)
Proxy (перехват трафика)ДаДа
Repeater (ручная отправка запросов)ДаДа
Intruder (перебор)ЗамедленныйПолная скорость
Scanner (автосканирование)НетДа
Сохранение проектовНетДа
Collaborator (слепые уязвимости)НетДа
Decoder, Comparer, SequencerДаДа

Community Edition - стартовый набор. Замедленный Intruder раздражает на реальных проектах, но для учёбы - за глаза. Переходите на Pro, когда начнёте участвовать в bug bounty: окупаемость - примерно 1 - 2 успешные находки.

Установка и настройка Burp Suite с нуля​

Скачивание и первый запуск​

Системные требования скромные: Windows 10+, macOS 10.14+ или любой современный Linux, 4 ГБ RAM (лучше 8), Java встроена в инсталлятор.

Пошагово:
  1. Откройте
  2. Скачайте инсталлятор под свою ОС
  3. Запустите установщик - права администратора не нужны
  4. При первом запуске выберите Temporary project и Use Burp defaults
  5. Нажмите Start Burp
Через 10-15 секунд откроется Dashboard - главная панель Burp Suite. Инструмент уже слушает порт 8080 на localhost - осталось направить в него браузер.

Настройка браузера через FoxyProxy​

Можно каждый раз лезть в настройки браузера и вручную менять прокси, но это быстро надоест. Поставьте расширение FoxyProxy - переключение прокси одним кликом.

Для Firefox:
  1. Установите FoxyProxy из каталога дополнений Firefox
  2. Кликните на иконку FoxyProxy в панели браузера
  3. Перейдите в Options и нажмите Add
  4. Заполните поля:
    • Title: Burp Suite
    • Proxy Type: HTTP
    • Proxy IP: 127.0.0.1
    • Port: 8080
  5. Сохраните. Теперь одним кликом по иконке FoxyProxy включаете профиль «Burp Suite» - весь трафик пойдёт через перехватчик
Есть и ленивый путь - встроенный браузер Burp Suite. Он уже настроен и не требует возни с прокси: вкладка Proxy, кнопка Open Browser. Для первых экспериментов проще, но в реальной работе захочется свой Firefox с привычными закладками и расширениями.

Установка CA-сертификата для HTTPS​

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

Именно на этом шаге я когда-то потерял час жизни. Если всё равно видите ошибку - чеклист: а точно ли прокси включён? А точно ли Burp запущен? А может, сертификат импортирован в Chrome, а открываете Firefox? (Классика.)

Интерфейс Burp Suite: что где находится​

Не буду описывать каждую кнопку - только то, чем будете пользоваться каждый день.

Dashboard - стартовый экран с активными задачами и логами событий.

Target - Site map - карта сайта, которая накапливается по мере того, как вы ходите по страницам. Древовидная структура: домены, пути, запросы и ответы. Ваш радар - показывает, из чего состоит приложение.

Proxy - HTTP history - журнал всех перехваченных запросов. Каждая строка - пара «запрос-ответ». Кликаете на строку - видите полный HTTP-запрос внизу. Здесь вы будете проводить 80% времени.

Proxy - Intercept - режим «стоп-крана». Когда включён, каждый запрос из браузера замирает тут, пока не нажмёте Forward (пропустить) или Drop (выкинуть).

Repeater - ваша лаборатория. Сюда отправляете интересные запросы из HTTP history (правый клик → Send to Repeater). В Repeater можно менять любые параметры запроса и слать его снова и снова, наблюдая за ответом сервера.

Intruder - автоматизация перебора. Выделяете параметр в запросе, подставляете список значений, запускаете - Intruder прогонит все варианты.

Decoder - конвертер кодировок: Base64, URL-encoding, HTML-entities. Нашли непонятную строку в куках - вставляете сюда, декодируете.

1776282136405.webp


Настраиваем Scope - фокусируемся на цели​

Этот шаг пропускают почти все новички. В итоге HTTP history заваливается сотнями запросов к Google Analytics, рекламным сетям, CDN - и нужный запрос невозможно найти в этой каше.

Scope - фильтр, который говорит Burp: «Записывай и показывай только трафик к этому домену».
  1. Перейдите в Target - Scope settings (в новых версиях - Target - Scope)
  2. Нажмите Add в секции «Include in scope»
  3. Введите URL целевого приложения, например: http://localhost:8080 (если DVWA) или https://0a1b2c3d.web-security-academy.net
  4. Burp спросит: «Отправлять трафик вне скоупа в историю?» - отвечайте No
  5. Перейдите в Proxy - HTTP history, кликните на фильтр и отметьте Show only in-scope items
Теперь в истории - только запросы к целевому приложению. Поверьте, это экономит часы.

Где практиковать веб-пентест с нуля: учебные полигоны​

Тестировать чужие сайты без письменного разрешения - это статья УК. Но есть легальные полигоны, созданные специально для обучения.

PortSwigger Web Security Academy ( ) - бесплатная платформа от создателей Burp Suite. Десятки лабораторных работ по каждому типу уязвимости из . Каждая лаборатория - изолированное веб-приложение с конкретной дырой. Я бы порекомендовал начинать именно отсюда.

DVWA (Damn Vulnerable Web Application) - локальное приложение с намеренно вшитыми уязвимостями. Запускается через Docker:
Bash:
docker run --rm -it -p 80:80 ghcr.io/digininja/dvwa:latest
После запуска откройте http://localhost в браузере (через прокси Burp). Логин по умолчанию: admin / password. Перейдите в DVWA Security и выставьте уровень Low - минимальная защита, идеально для первых экспериментов.

WebGoat от OWASP - ещё одна площадка с интерактивными уроками:
Bash:
docker run -p 8888:8080 -p 9090:9090 webgoat/webgoat

Находим первую XSS-уязвимость: практика Burp Suite​

Переходим к делу. Разберём пошагово, как найти Reflected XSS на примере DVWA (уровень Low). XSS - одна из самых распространённых уязвимостей из OWASP Top 10, позволяющая внедрить произвольный JavaScript в страницу. Через неё атакующий может красть куки ( по MITRE ATT&CK) и перехватывать ввод пользователя (Input Capture, T1056).

Шаг 1: Перехватываем нормальный запрос​

  1. В DVWA перейдите на страницу XSS (Reflected)
  2. В Burp убедитесь, что перехват выключен (Intercept is off) - пусть трафик идёт свободно
  3. Введите в поле что-нибудь безобидное - например, testuser - и нажмите Submit
  4. Перейдите в Proxy - HTTP history и найдите GET-запрос вида:
Код:
GET /vulnerabilities/xss_r/?name=testuser HTTP/1.1
  1. Кликните на него, изучите ответ. Найдите в теле строку: Hello testuser - сервер подставляет ваш ввод прямо в HTML без какой-либо фильтрации. Уже интересно.

Шаг 2: Отправляем в Repeater и тестируем​

  1. Правый клик на запросе → Send to Repeater
  2. Перейдите во вкладку Repeater
  3. Замените testuser на простейший XSS-пейлоад:
Код:
GET /vulnerabilities/xss_r/?name=<script>alert(1)</script> HTTP/1.1
  1. Нажмите Send
  2. В панели ответа ищите строку: Hello <script>alert(1)</script>
Если тег <script> присутствует в ответе без экранирования - уязвимость подтверждена. Браузер выполнит этот скрипт при отображении страницы.

Шаг 3: Проверяем в браузере​

Вернитесь в браузер и введите в поле:
Код:
<script>alert(1)</script>
Выскочило модальное окно с цифрой 1? Поздравляю - вы только что нашли свою первую уязвимость. Reflected XSS, уровень Low, без фильтрации на стороне сервера.

Ощущение, когда впервые видишь этот alert - незабываемое. Потренировавшись на кошках, можно двигаться дальше.

SQL injection: поиск уязвимостей через Repeater​

Усложняем. SQL-инъекции - техника эксплуатации публично доступных приложений ( по MITRE ATT&CK), одна из самых опасных уязвимостей веб-приложений.

Работаем с DVWA, страница SQL Injection, уровень Low.

Шаг 1: Изучаем нормальное поведение​

  1. Введите 1 в поле User ID и нажмите Submit
  2. В HTTP history найдите запрос:
Код:
GET /vulnerabilities/sqli/?id=1&Submit=Submit HTTP/1.1
  1. Ответ содержит данные пользователя: First name, Surname. Сервер подставляет значение id напрямую в SQL-запрос. Без экранирования. Без параметризации. Красота.

Шаг 2: Тестируем в Repeater​

Отправьте запрос в Repeater и попробуйте классический пейлоад:
Код:
GET /vulnerabilities/sqli/?id=1'+OR+'1'%3d'1&Submit=Submit HTTP/1.1
Нажмите Send. Примечание: Burp Repeater автоматически URL-кодирует спецсимволы при отправке. Если вводите пейлоад в адресную строку браузера напрямую, используйте URL-encoded форму: id=1%27+OR+%271%27%3D%271. Если в ответе пришли данные всех пользователей, а не только с id=1 - SQL-инъекция подтверждена. Сервер выполнил:
SQL:
SELECT * FROM users WHERE user_id = '1' OR '1'='1'
Условие '1'='1' всегда истинно, поэтому вернулись все записи.

Шаг 3: Определяем структуру и извлекаем данные​

Определяем количество столбцов через ORDER BY:
Код:
GET /vulnerabilities/sqli/?id=1' ORDER BY 1--+&Submit=Submit HTTP/1.1
Увеличивайте число: 1, 2, 3... Когда сервер вернёт ошибку - столбцов меньше. Ошибка на ORDER BY 3 - значит, в запросе 2 столбца. Теперь UNION SELECT:
Код:
GET /vulnerabilities/sqli/?id=' UNION SELECT user,password FROM users--+&Submit=Submit HTTP/1.1
В ответе - логины и хеши паролей всех пользователей из базы. Критическая уязвимость. На реальном проекте за такое дают critical в отчёте без разговоров.

Intruder: автоматизация перебора параметров​

Intruder нужен, когда надо прогнать множество значений одного параметра. Перебрать ID пользователей для поиска IDOR-уязвимости, прогнать список типовых XSS-пейлоадов, протестировать параметры.

Intruder применяется для разных техник: перебор паролей (Brute Force, T1110), фаззинг параметров при поиске инъекций, перебор идентификаторов для IDOR. В нашем примере перебираем числовые ID - это ближе к этапу Discovery, а не к T1110.

Пошагово на примере перебора User ID в DVWA SQL Injection:
  1. Перехватите запрос с id=1 в HTTP history
  2. Правый клик → Send to Intruder
  3. Перейдите во вкладку Intruder - Positions
  4. Нажмите Clear (убрать автоматически расставленные маркеры)
  5. Выделите значение 1 в параметре id=1 и нажмите Add - получите id=§1§
  6. Тип атаки оставьте Sniper (один параметр, один список)
  7. Перейдите на вкладку Payloads
  8. В Payload type выберите Numbers, диапазон от 1 до 10, шаг 1
  9. Нажмите Start attack
В окне результатов смотрите на колонку Length. Если длина ответа для одного из id резко отличается от остальных - копайте глубже. Одинаковая длина для несуществующих id и другая для реальных - нормально. Но если id=0 возвращает административные данные - это уже находка.

В Community Edition атака ползёт медленно из-за искусственного ограничения скорости. Для учёбы хватит. Для реальной работы в bug bounty ставьте расширение Turbo Intruder - бесплатное и снимает ограничение.

OWASP Top 10 и инструменты Burp Suite: что для чего использовать​

Чтобы практика OWASP Top 10 была системной, вот карта соответствия:

Уязвимость OWASPИнструмент BurpЧто делать
A01 Broken Access ControlRepeaterМенять id, роли, токены в запросах
A02 Cryptographic FailuresDecoder, SequencerДекодировать токены, проверять энтропию
A03 Injection (SQLi, XSS)Repeater, IntruderПодставлять пейлоады вручную и автоматически
A04 Insecure DesignProxy, RepeaterАнализировать бизнес-логику через модификацию запросов
A05 Security MisconfigurationProxy (HTTP history)Искать лишние заголовки, открытые директории
A06 Vulnerable ComponentsScanner (Pro)Автосканирование известных CVE
A07 Auth FailuresIntruder, SequencerПеребор паролей, анализ предсказуемости токенов
A08 Data Integrity FailuresDecoder, RepeaterДекодировать и модифицировать JWT, сериализованные объекты
A09 Logging FailuresProxyПроверять, логируются ли ваши атаки (тестировать мониторинг)
A10 SSRFRepeater, Collaborator (Pro)Подставлять внешние URL в параметры

Эта таблица - шпаргалка. Когда берёте лабораторную работу на PortSwigger Web Security Academy, сверяйтесь: какой тип уязвимости, какой инструмент Burp тянуть.

Типичные ошибки новичков и как их избежать​

За несколько лет менторства я собрал список граблей, на которые наступает каждый первый. Топ-5:

«Сайты не открываются после настройки прокси» - Burp не запущен. Или запущен, но прокси настроен на другой порт. Проверяйте: Burp слушает 127.0.0.1:8080, браузер направлен туда же. Порты должны совпадать.

«HTTPS-сайты показывают ошибку сертификата» - не установлен CA-сертификат Burp. Вернитесь к разделу выше. Частая подпроблема: сертификат импортирован в Firefox, а открываете Chrome (или наоборот).

«HTTP history завален мусором» - не настроен Scope. Добавьте целевой домен в Scope и включите фильтр «Show only in-scope items». Без этого искать нужный запрос - как иголку в стоге сена.

«Intercept включён, но ничего не перехватывается» - проверьте, что браузер шлёт запросы через прокси Burp. Откройте любую страницу. Если браузер «завис» - Burp перехватил запрос и ждёт вашего действия. Загляните во вкладку Intercept.

«Intruder работает невыносимо медленно» - ограничение Community Edition. Для учебных задач просто подождите. Для рабочих - ставьте Turbo Intruder через Extender - BApp Store.

Расширения из BApp Store: что поставить сразу​

Откройте Extender - BApp Store и установите четыре вещи:
  • Logger++ - расширенное логирование с фильтрами, удобнее стандартного HTTP history
  • Autorize - автоматическая проверка контроля доступа: переключает куки между ролями и показывает, где авторизация дырявая
  • JSON Beautifier - форматирует JSON в ответах, делает его читаемым (без него - сплошная каша)
  • Turbo Intruder - снимает ограничения скорости Intruder в Community Edition
Установка: нашли расширение в BApp Store, нажали Install. Перезапуск Burp не нужен.

Что дальше: план развития от новичка до первого баунти​

Прошли первые XSS и SQLi на DVWA - вот маршрут дальше:
  1. PortSwigger Web Security Academy - пройдите все бесплатные лабы по SQL injection, XSS и Access Control. Это покроет три самых частых типа уязвимостей
  2. Подключите сканирование - если есть доступ к Pro, запустите Scanner на учебном стенде и изучите формат отчётов. Сканер автоматизирует поиск уязвимостей - по сути, то же, что делает атакующий на этапе разведки (Vulnerability Scanning, T1595.002 по MITRE ATT&CK), но в контролируемом режиме. Понимание его работы для пентестера обязательно
  3. Зарегистрируйтесь на HackerOne или Bugcrowd - выберите программу с широким скоупом и низким порогом входа. Начните с информационных уязвимостей: утечка версий, лишние HTTP-заголовки, открытые directory listing
  4. Изучите Collaborator (Pro) - он позволяет находить слепые уязвимости (blind XSS, blind SSRF, out-of-band SQLi), которые иначе не обнаружить
  5. Пишите отчёты - навык описания уязвимости не менее ценен, чем навык её поиска. Формат: описание, шаги воспроизведения, impact, рекомендации по исправлению
Burp Suite для начинающих - не одноразовая инструкция, а входная точка в профессию. Инструмент растёт вместе с вами: сегодня Proxy и Repeater, через полгода - собственные расширения на Python через Extender API. Запустите DVWA, пройдите все шаги из статьи, и если нашли alert(1) - не останавливайтесь. Самое интересное начинается после него.
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab