Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
echteeteepee — Go-инструмент и шаблон Nuclei для тестирования James Kettle's (CVE-2025-32094) HTTP/1.1 must die: the desync endgame | Kitploit
Инструменты/GitHubGitHub/perplext/echteeteepee
Сканеры уязвимостейДинамический анализ (песочница)Веб-безопасностьФаззингТестирование на ПроникновениеОбучение и Образование
GitHubperplext/echteeteepee

echteeteepee

Go-инструмент и шаблон Nuclei для тестирования James Kettle's (CVE-2025-32094) HTTP/1.1 must die: the desync endgame

Репозиторий
511 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Инструменты для тестирования уязвимостей HTTP/1 Desync

Этот репозиторий содержит инструменты защитного тестирования для обнаружения уязвимостей контрабанды запросов HTTP/1 (desync), основанные на новаторском исследовании Джеймса Кеттла из PortSwigger.

Атрибуция исследования

Эта работа напрямую вдохновлена и реализует методы из:

  • «HTTP/1 Must Die» Джеймса Кеттла (PortSwigger Research)
    • Оригинальное исследование: https://portswigger.net/research/http1-must-die
    • Исследователь: Джеймс Кеттл (@albinowax)
    • Компания: PortSwigger Web Security

Шаблоны атак, методы и способы обнаружения, реализованные в этих инструментах, основаны на пионерской работе Джеймса Кеттла, выявившей фундаментальные недостатки в реализации протокола HTTP/1.1 у крупных поставщиков веб-инфраструктуры.

Влияние исследования

Исследование Джеймса Кеттла продемонстрировало уязвимости, затрагивающие:

  • Cloudflare, T-Mobile, GitLab, Netlify, Akamai
  • Заработано более 350 000 долларов на программах Bug Bounty
  • Привело к критическим исправлениям инфраструктуры по всему вебу

Обзор

Неоднозначные определения границ запросов HTTP/1.1 создают то, что Джеймс Кеттл назвал «крайней неоднозначностью» относительно того, где начинаются и заканчиваются запросы. Это приводит к расхождениям в парсерах между фронтенд- и бэкенд-серверами, что позволяет осуществлять сложные атаки контрабанды запросов. Эти инструменты помогают выявлять такие уязвимости для защитного тестирования безопасности.

Включенные инструменты

1. Инструмент тестирования на Go (http1-desync-test.go)

Комплексный тестер уязвимости HTTP/1 desync, реализующий множество шаблонов атак.

Функции

  • V-H (Visible-Hidden) Desync: Проверяет расхождения парсеров в режиме «видимый-скрытый»
  • 0.CL (Zero Content-Length) Desync: Эксплуатирует различия в обработке Content-Length: 0
  • Expect Header Desync: Использует Expect: 100-continue для контрабанды запросов
  • Double-Desync: Проверяет на уязвимости отравления очереди ответов (Response Queue Poisoning)
  • CL.TE Desync: Тестирует конфликты между Content-Length и Transfer-Encoding

Установка

root@kitploit:~
# Клонировать репозиторий
git clone https://github.com/nconsolo/echteeteepee.git
cd echteeteepee

# Установить зависимости
go mod download

# Собрать инструмент
go build -o http1-desync-test http1-desync-test.go

Использование

root@kitploit:~
# Проверить все шаблоны атак
./http1-desync-test -target https://example.com

# Проверить конкретный шаблон атаки
./http1-desync-test -target https://example.com -test vh

# Включить подробный вывод
./http1-desync-test -target https://example.com -verbose

# Установить произвольный таймаут
./http1-desync-test -target https://example.com -timeout 10s

Параметры командной строки

  • -target: Целевой URL (обязательно)
  • -test: Тип теста: all, vh, 0cl, expect, double, clte (по умолчанию: all)
  • -timeout: Таймаут запроса (по умолчанию: 5s)
  • -verbose: Включить подробный вывод для просмотра сырых запросов/ответов

2. Шаблон Nuclei (nuclei-templates/http1-desync.yaml)

Автоматизированный шаблон сканирования для Nuclei для обнаружения уязвимостей HTTP/1 desync в масштабе.

Установка

root@kitploit:~
# Установить Nuclei (если ещё не установлен)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Скопировать шаблон в директорию шаблонов Nuclei
cp nuclei-templates/http1-desync.yaml ~/.nuclei-templates/

Использование

root@kitploit:~
# Сканировать одну цель
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml

# Сканировать несколько целей
nuclei -l targets.txt -t nuclei-templates/http1-desync.yaml

# Сканировать с ограничением скорости
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml -rl 10

Описание шаблонов атак

Все шаблоны атак основаны на результатах исследований Джеймса Кеттла и проверенных методах эксплуатации.

V-H (Visible-Hidden) Desync

Источник: Исследование Джеймса Кеттла «HTTP/1 Must Die»
Эксплуатирует расхождения, когда фронтенд-прокси видит одну границу запроса, а бэкенд-сервер — другую. Вектор атаки встраивает скрытый запрос в то, что фронтенд воспринимает как данные заголовка, но бэкенд интерпретирует как отдельный запрос.

Пример из исследования: Используется для демонстрации различий парсеров у крупных CDN-провайдеров.

0.CL (Zero Content-Length) Desync

Источник: Находки уязвимостей Джеймса Кеттла в IIS и T-Mobile
Использует различные интерпретации заголовка Content-Length: 0 между серверами. Некоторые серверы игнорируют тело при CL=0, в то время как другие всё ещё обрабатывают его, что приводит к путанице с границами запросов.

Реальное влияние: Успешно эксплуатировалось против серверов IIS и инфраструктуры T-Mobile.

Expect Header Desync

Источник: Исследование Джеймса Кеттла по T-Mobile и LastPass
Эксплуатирует механизм Expect: 100-continue, где фронтенд и бэкенд обрабатывают продолжение по-разному. Это создаёт возможности для контрабанды запросов, пока фронтенд ожидает ответ 100-continue.

Контекст исследования: Продемонстрировано против систем аутентификации T-Mobile и LastPass.

Double-Desync (Response Queue Poisoning)

Источник: Продвинутая методология desync Джеймса Кеттла
Объединяет несколько desync-атак для отравления очереди ответов, позволяя атакующему контролировать, какие ответы получают другие пользователи. Это представляет одну из самых сложных атак в исследовании.

Критическое открытие: Позволяет полностью захватить сайт, отдавая вредоносные ответы легитимным пользователям.

CL.TE / TE.CL Conflicts

Источник: Основные исследования неоднозначности HTTP/1.1 Джеймса Кеттла
Эксплуатирует конфликты между заголовками Content-Length и Transfer-Encoding: chunked. Разные серверы по-разному расставляют приоритеты этих заголовков, создавая расхождения парсеров, которые позволяют контрабанду запросов.

Основа: Эти конфликты представляют собой фундаментальный недостаток, выявленный Джеймсом Кеттлом в спецификации HTTP/1.1.

Индикаторы обнаружения

Основываясь на методологии исследования Джеймса Кеттла, инструменты ищут:

Основные индикаторы (из оригинального исследования)

  • Неожиданные ответы 404/403/401: Указывают на контрабандные запросы, достигающие неавторизованных конечных точек
  • Ответ, содержащий пути admin/restricted: Говорит об успешной контрабанде запросов в защищённые области
  • Несколько HTTP-ответов в одном соединении: Признак отравления очереди ответов
  • Ответы об ошибках парсера (400 Bad Request): Могут указывать на успешное замешательство desync

Продвинутые методы обнаружения

  • Аномалии времени ответа: Задержки, указывающие на путаницу в обработке на стороне сервера
  • Несоответствия длины содержимого: Ответы с некорректной длиной тела
  • Артефакты внедрения заголовков: Свидетельство контрабандных заголовков в ответах
  • Индикаторы отравления кэша: Неожиданные кэшированные ответы, затрагивающие других пользователей

Оценка серьёзности уязвимости

Следуя классификации воздействия Джеймса Кеттла:

  • Критический: Отравление очереди ответов, позволяющее выдавать себя за пользователя
  • Высокий: Контрабанда запросов к конечным точкам администратора
  • Средний: Расхождения парсеров без доказательства эксплуатации
  • Низкий: Безобидные desync-поведения без влияния на безопасность

Ответственное использование

Эти инструменты предназначены для:

  • Защитного тестирования безопасности на авторизованных системах
  • Оценки уязвимостей с соответствующими разрешениями
  • Исследований безопасности в контролируемых средах

НЕ ИСПОЛЬЗУЙТЕ эти инструменты:

  • Против систем, которыми вы не владеете или на тестирование которых у вас нет разрешения
  • В злонамеренных целях или для несанкционированного доступа
  • В производственных средах без надлежащих мер предосторожности

Детали технической реализации

Управление соединениями

Следуя методологии Джеймса Кеттла, инструменты поддерживают постоянные соединения HTTP/1.1 для правильного тестирования условий desync. Каждый тест создаёт одно TCP-соединение и отправляет несколько запросов для наблюдения различий в парсинге.

Формирование запросов

Векторы атак тщательно созданы на основе точных шаблонов, которые Джеймс Кеттл использовал в своих исследованиях, обеспечивая совместимость с поведением серверов, задокументированным им.

Анализ ответов

Логика обнаружения реализует те же индикаторы, которые Джеймс Кеттл использовал для выявления успешных desync-атак в ходе своего исследования Bug Bounty на сумму более 350 000 долларов.

Воздействие уязвимости и меры по устранению

Основано на находках и рекомендациях Джеймса Кеттла:

Категории воздействия

  1. Полный захват сайта: Через отравление очереди ответов
  2. Кража учётных данных: Через контрабанду запросов к конечным точкам аутентификации
  3. Отравление кэша: Доставка вредоносного контента легитимным пользователям
  4. Повышение привилегий: Доступ к конечным точкам администратора через контрабандные запросы

Стратегии устранения (по Джеймсу Кеттлу)

  1. Основное решение: Мигрировать вышестоящие соединения на HTTP/2
  2. Промежуточное: Включить нормализацию HTTP-запросов
  3. Обнаружение: Развернуть регулярное сканирование уязвимостей desync
  4. Мониторинг: Внедрить обнаружение аномалий на уровне соединений

Рекомендации по тестированию

  • Тестируйте в окна технического обслуживания, чтобы не нарушать работу сервисов
  • Используйте ограничение скорости при сканировании производственных систем
  • Координируйте свои действия с командами безопасности перед масштабным тестированием
  • Документируйте находки, используя классификацию уязвимостей Джеймса Кеттла

Ссылки и благодарности

Первичное исследование

  • «HTTP/1 Must Die» — Джеймс Кеттл (PortSwigger Research)
    https://portswigger.net/research/http1-must-die
  • «HTTP Desync Attacks: Request Smuggling Reborn» — Джеймс Кеттл
    https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn
  • Презентация Black Hat USA 2019 — Джеймс Кеттл
    «HTTP Desync Attacks: Smashing into the Cell Next Door»

Дополнительные ресурсы

  • HTTP Request Smuggling — PortSwigger Academy
  • Расширение Burp Suite HTTP Request Smuggler
  • CWE-444: Inconsistent Interpretation of HTTP Requests

Благодарности за инструменты

  • Джеймс Кеттл (@albinowax): Оригинальное исследование и методология атак
  • PortSwigger: Публикация исследования и инструмент HTTP Request Smuggler
  • ProjectDiscovery: Фреймворк сканирования Nuclei

Лицензия

Лицензия MIT — см. файл LICENSE для подробностей

Отказ от ответственности

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

Скачать инструмент