Как настроить прокси в Burp Suite

Burp Suite может стоять между трафиком вашего браузера, а может отправлять свой собственный трафик через другой прокси. Это не одно и то же. Если перепутать, можно потратить 20 минут, глядя не на тот экран.

Это руководство посвящено одной задаче: как настроить прокси в Burp Suite, не путая локальный перехватывающий прокси с исходящим маршрутом. Проще говоря, браузер общается с Burp на одном порту, а Burp затем может обращаться к второму прокси, прежде чем дойти до целевого сайта. Именно здесь и нужен upstream proxy Burp Suite.

Если вам нужен базовый разбор терминов прокси, загляните во вкладку глоссарий VPN и proxy. Если в вашем общем процессе есть автоматизация, статья как выбрать VPN поможет с сетевой частью. Не каждой конфигурации нужны оба варианта.

1. Определите, какой сценарий прокси Burp вам действительно нужен

Начните с маршрута трафика. Сценарий первый: браузер → Burp → сайт. Сценарий второй: браузер → Burp → другой прокси → сайт. Обычно именно второй сценарий имеют в виду, когда спрашивают как настроить прокси в Burp Suite, но по умолчанию Burp работает как раз по первому варианту.

Быстрая проверка поможет разобраться. Если ваша цель — перехватывать запросы из Chrome или Firefox, вам нужен Burp как локальный перехватывающий прокси. Если ваша цель — заставить сам Burp выходить через корпоративный ретранслятор, домашний SOCKS-сервер или приватный шлюз, вам нужен вышестоящий прокси. Это важно, потому что настройки слушателя Burp не управляют исходящей цепочкой.

Один — локальный. Другой — вышестоящий.

Burp часто используют в лабораториях, офисных сетях и QA-средах, где браузер может напрямую подключиться к Burp, но сам Burp не может напрямую достучаться до целевого хоста. Типичный пример — удалённая тестовая машина в ограниченной сети, где Burp должен идти через корпоративный прокси на порту 8080 или 3128. Другой пример — исследовательская машина, которой требуется исходящая аутентификация перед любым HTTP-запросом.

2. Найдите нужный раздел в настройках прокси Burp Suite

Сначала откройте Burp Suite и ищите раздел Proxy, а не настройки браузера. Нужные параметры обычно находятся в инструменте Proxy, панели настроек, а также в секциях listener и upstream. Если вы будете просто кликать по вкладке Intercept, вы пропустите место, где реально меняется маршрут.

Проверить нужно два разных типа настроек. Listener задаёт адрес и порт, на которых Burp слушает входящий трафик браузера. Upstream определяет, куда Burp отправляет трафик после того, как уже получил его. Эти поля разделены не случайно.

Ищите элементы интерфейса, где упоминаются listeners, proxy listeners и обработка запросов. Затем найдите область, связанную с настройками прокси Burp Suite. Точные названия меню могут отличаться в разных версиях Burp, поэтому безопаснее искать элементы управления proxy listener и upstream proxy, а не полагаться на один скриншот из старого гайда.

Небольшое замечание: Burp не важно, какой у вас браузер. Ему важны хост, порт и то, запущен ли listener.

3. Настройте Burp как локальный перехватывающий прокси

Для связки браузер → Burp используйте адрес loopback, если браузер открыт на той же машине. Обычно это 127.0.0.1 и порт вроде 8080. Браузер должен быть направлен на тот же хост и порт, на котором Burp слушает, иначе запросы просто не дойдут.

Настройте один listener. Потом проверьте его. Потом проверьте ещё раз.

На практике настройки прокси в браузере должны точно совпадать с Burp: тот же IP, тот же порт, те же ожидания по протоколу. Если Burp слушает HTTP на 127.0.0.1:8080, а браузер указывает 127.0.0.1:8081, ничего не будет работать, кроме путаницы. Если файрвол блокирует выбранный порт, Burp может выглядеть готовым, а подключение из браузера будет сразу падать.

На этом шаге используйте браузер только как клиент. Не пытайтесь пока решать исходящий проксинг. Люди часто меняют сразу три настройки, а потом теряют след, что именно сломало трафик. Держите задачу узкой: сначала убедитесь, что Burp вообще умеет принимать трафик.

Если позже вы сравниваете типы прокси для цепочки, стоит посмотреть руководство SOCKS5 или HTTP-прокси для скрейпинга. Burp может стоять перед обоими вариантами, но в полях upstream proxy нужны корректные данные именно того сервера, который вы используете.

4. Настройте вышестоящий прокси в Burp Suite

Это тот самый раздел, который ищут большинство читателей. upstream proxy Burp Suite указывает Burp, куда отправлять исходящие запросы после их перехвата. Это правильный выбор, если трафик должен проходить через другой HTTP-прокси, SOCKS-ретранслятор или корпоративный шлюз, прежде чем дойти до назначения.

Аккуратно введите хост и порт вышестоящего прокси. Ошибка здесь создаёт тупик, а не предупреждение. Если upstream-прокси требует аутентификацию, Burp могут понадобиться имя пользователя и пароль, а в некоторых средах ещё и определённые транспортные правила или proxy-заголовки. Это зависит от используемого сервиса прокси.

Используйте upstream-маршрутизацию, когда Burp должен сохранять свою локальную роль слушателя, но при этом пересылать запросы дальше. Подходит для контролируемого выхода в сеть, для лабораторных сетей или для проверки того, как цель ведёт себя при определённом исходящем маршруте. Если вам нужно только локально просматривать запросы браузера, upstream-маршрутизация не нужна.

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

Если ваш upstream защищён аутентификацией, старое руководство по аутентифицированному SOCKS5-прокси поможет проверить формат учётных данных. Очень легко правильно указать хост и ошибиться в логине.

5. Настройте правила совпадения и маршрутизации в Burp Suite Proxy

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

Сначала проверьте scope. Если Burp настроен обрабатывать только элементы в области видимости, трафик вне неё может обходить ожидаемый путь. Затем проверьте правила match-and-route. Одно правило для домена может отправлять трафик в одну сторону, а другое — в совершенно другую, и всё будет нормально, пока вы не забудете, что создали это правило три дня назад.

Сделайте логику простой. Один listener. Один upstream proxy. Один тестовый адрес. Если позже потребуется более сложное поведение, добавляйте его по одному правилу за раз. Так будет видно, какая настройка изменила результат.

На прокси-цепочку также могут влиять решения Burp в части перехвата и пересылки. Если запросы видны в истории, но не доходят до сервера, проверьте, не стоят ли они всё ещё на паузе для перехвата. Если они выходят из Burp, но ответа нет, вероятно, проблема в маршруте или upstream-прокси.

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

6. Проверьте прокси-цепочку целиком

Проверяйте в три шага. Сначала убедитесь, что браузер может достучаться до Burp. Затем — что Burp может достучаться до upstream-прокси. Потом — что upstream-прокси может достучаться до целевого сайта. Если какой-то шаг не проходит, цепочка ломается именно там.

Начните с истории прокси в Burp. Отправьте один запрос из браузера и посмотрите, появился ли он. Если не появился, проблема в связке браузер → Burp. Если появился, но завис, возможно, его всё ещё удерживает intercept. Если появился и ушёл, но цель не отвечает, вероятнее всего, проблема в upstream-цепочке.

Затем откройте известную тестовую страницу или простой адрес, который возвращает видимые заголовки. Нужен ответ, который докажет, что запрос прошёл всю цепочку, а не просто то, что Burp что-то отобразил. Запрос, который возвращает ответ 200 от цели через upstream-прокси, — гораздо лучший сигнал, чем общее сообщение «connected».

Хорошая привычка — отдельно сверять исходный IP и наблюдаемую маршрутизацию. Статья как проверить, скрыт ли ваш IP поможет понять, что видит внешний мир. Это особенно полезно, когда upstream-прокси является частью приватной или корпоративной схемы.

7. Исправьте самые частые ошибки конфигурации прокси Burp

Неправильный адрес listener — первая причина сбоев. Burp слушает на 127.0.0.1, а браузер указывает другой хост. Или Burp слушает на конкретном интерфейсе, а браузер пытается использовать другой. В любом случае запрос до Burp не доходит.

Следом идёт конфликт порта. Если порт уже занят другим приложением, Burp может не привязаться к нему корректно. Симптом часто выглядит как таймаут в браузере, а не как аккуратное сообщение об ошибке. Поменяйте порт, перезапустите Burp и проверьте снова.

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

Проблемы с SSL/TLS-перехватом тоже бывают, если браузер или целевой сервер не доверяет CA-сертификату Burp, либо если upstream-прокси отклоняет запросы CONNECT. Это может выглядеть как ошибка сертификата в браузере, сброс соединения в Burp или пустой ответ от сайта. На практике это диагностируют по тому, на каком именно этапе ломается цепочка.

Последняя частая проблема — трафик не совпадает с правилами Burp. Если хост вне scope, исключён фильтром или отправлен расширением браузера в обход прокси, Burp может его вообще не увидеть. Проверьте и расширения браузера. Одно из них может обойти всю цепочку без предупреждения.

Если вам нужен более широкий контекст по настройке прокси и приватности, на странице VPN, proxy & privacy guides собраны связанные материалы в одном месте. Это разумная следующая остановка, если ваш Burp-набор — часть более крупной тестовой среды.

8. Сохраните reusable-конфигурацию Burp для этого сценария

Когда цепочка заработает, сохраните её. Рабочий профиль Burp стоит хранить, потому что тот же listener, scope и upstream-настройки часто понадобятся в следующем проекте. Воссоздавать их с нуля — пустая трата времени, и это только увеличивает риск мелких ошибок в поле порта или хоста.

Если ваша версия Burp поддерживает экспорт, сохраните конфигурацию. Если в вашей редакции экспорт недоступен, запишите короткую заметку с адресом listener, портом, upstream-хостом, upstream-портом и всеми данными аутентификации, которые потребуется ввести снова. Пяти строк достаточно. Десяти — ещё лучше, если учётные данные хранятся вне файла.

Практичный приём: называйте профиль по имени проекта, например «lab-chain-01» или «client-proxy-02». Так будет проще загружать те же настройки прокси Burp на следующей машине. Это также помогает, когда вы переключаетесь между тестовыми средами с разными upstream-прокси и разными требованиями к авторизации.

Держите сохранённый профиль привязанным к одной задаче. Нельзя без проверки использовать Burp-настройку для просмотра браузера в качестве прокси для корпоративного upstream, и нельзя автоматически считать, что профиль для доступа через SOCKS подойдёт для HTTP без повторной проверки хоста, порта и полей аутентификации. Именно эти три значения определяют, будет ли трафик вообще двигаться.

Сохраните профиль сейчас, пока цепочка ещё работает.