Кратко — такое сообщение обычно означает, что Burp не сумел корректно закрыть поток данных между клиентом и сервером (или между Burp и конечным сервером). Причины могут быть разные: протоколы (HTTP/2, QUIC/HTTP3), TLS/ALPN/пиннинг, неверная прокси‑настройка в браузере, баг в версии Burp/Java или промежуточный прокси/фаервол обрывает соединение. Ниже — что проверить и как диагностировать/починить.
Что проверить в первую очередь
- Установлена ли прокси в браузере на Burp (обычно 127.0.0.1:8080) и выключены ли другие прокси.
- Установлен ли сертификат Burp в браузере/системном хранилище (для HTTPS). Для Firefox надо импортировать в его хранилище отдельно.
- Отключён ли Intercept в Burp (если включён — страница не загрузится до поправки запроса).
- Обновлён ли Burp до последней версии (в старых версиях могли быть баги с HTTP/2 и т.п.).
Диагностика (быстро)
1. Откройте Event log / Alerts в Burp — там может быть более подробная ошибка.
2. Попробуйте загрузить сайт в браузере при выключенном Burp (убрать прокси) — чтобы убедиться, что сайт доступен вообще.
3. Попробуйте curl через Burp, чтоб увидеть поведение низкоуровнево:
- curl -v -x 127.0.0.1:8080 https://example.com --http1.1
Если с --http1.1 работает, а без него — нет, проблема связана с HTTP/2/ALPN.
4. Попробуйте другой браузер (Firefox/Chrome) и/или профиль без расширений.
Типичные причины и решения
- HTTP/2 или QUIC (HTTP/3):
- Многие серверы используют HTTP/2/ALPN или QUIC. Burp может некорректно обрабатывать HTTP/2 или не поддерживать QUIC. Форсируйте HTTP/1.1 в клиенте:
- curl: --http1.1
- Chrome: отключить QUIC (chrome://flags -> “QUIC” -> Disabled) и/или запускать с --disable-quic. В Firefox: about:config -> network.http.spdy.enabled.http2 = false.
- В последних версиях Burp улучшена поддержка HTTP/2 — попробуйте обновиться.
- TLS/ALPN/совместимость шифров:
- Сервер может требовать специфичные шифры/TLS версии; попробуйте обновить Burp (включая встроенный JRE) или изменить TLS-настройки в User options -> SSL.
- Сертификат/пиннинг:
- Если приложение или сайт использует certificate pinning, Burp не сможет сделать MITM — тогда вы увидите ошибки TLS в браузере или приложении. Для приложений нужно отключать pinning (emulator, Frida и т.п.).
- Промежуточный прокси или фаервол:
- Компания/провайдер может разрывать соединения. Проверьте, нет ли upstream proxy в Options -> Connections -> Upstream proxy settings.
- Баг в Burp / Java:
- Посмотрите журнал ошибок Burp (Event log). Если подозрение на баг — обновите Burp до последней версии и, при необходимости, откройте тикет в поддержке PortSwigger, приложите лог и дамп запроса.
- Некорректно закрываемые потоки (сервер резко закрывает соединение):
- Это может быть просто сервер разрывает поток — попробуйте увеличить таймауты в Options -> Connections.
Шаги для исправления (пошагово)
1. Обновите Burp до последней версии.
2. Проверьте и установите CA Burp в браузер/ОС.
3. Отключите HTTP/2/QUIC в браузере и попробуйте снова.
4. Сделайте запрос через curl/--http1.1 через Burp, чтобы локализовать проблему.
5. Посмотрите детали в Event log и Proxy -> HTTP history (raw запрос/ответ).
6. Если это мобильное приложение — проверьте пиннинг; если есть пиннинг — используйте обход (emu/Frida/patch).
7. При подозрении на баг: включите подробное логирование и обратитесь в поддержку PortSwigger с логами.
Если хотите, пришлите:
- точную версию Burp,
- URL (или пример),
- скрин/полный текст ошибки из Event log,
- результат команды curl выше,
и я помогу проанализировать дальше.