BF hunt-http-smuggling
Поиск уязвимостей HTTP request smuggling (CL.TE, TE.CL, H2.CL, H2.TE). Причина: прокси на стороне клиента и сервер на стороне бэкенда не согласны, где заканчивается один запрос и начинается следующий (несоответствие в разборе заголовков Content-Length vs Transfer-Encoding). CL.TE: фронтенд использует CL, бэкенд использует TE → контрабанда путем отправки TE: chunked, но с телом, соответствующим CL. TE.CL: наоборот. H2.CL: понижение версии HTTP/2, контрабанда CL в бэкенд HTTP/1.1. Инструменты обнаружения: расширение Burp HTTP Request Smuggler, smuggler.py, h2csmuggler. Подтверждение: техника временной задержки (контрабандный GET с 30-секундным таймаутом) — если фронтенд медленно отвечает на следующий запрос жертвы, контрабанда работает. Валидация: цепочка отравления кэша (контрабанда запроса, который кэшируется для жертвы), кража учетных данных (контрабанда переопределения X-Forwarded-For, которое захватывает куки следующего пользователя), обход аутентификации (контрабанда запроса к внутреннему пути). Реальные платные примеры из крупных развертываний CDN. Используйте при поиске H1 платных программ, работающих со стеками CDN+origin, при нацеливании на обход балансировщика нагрузки / WAF.
машинный переводПоказать оригиналСкрыть оригинал«Hunt HTTP request smuggling (CL.TE, TE.CL, H2.CL, H2.TE). Cause: front…»
Hunt HTTP request smuggling (CL.TE, TE.CL, H2.CL, H2.TE). Cause: front-end proxy and back-end server disagree on where one request ends and the next begins (Content-Length vs Transfer-Encoding header parsing inconsistency). CL.TE: front-end uses CL, back uses TE → smuggle by sending TE: chunked but with body that fits CL count. TE.CL: opposite. H2.CL: HTTP/2 downgrade, smuggle CL into HTTP/1.1 back-end. Detection tools: Burp HTTP Request Smuggler extension, smuggler.py, h2csmuggler. Confirm: time-delay technique (smuggled GET with 30s timeout) — if front-end returns slow on next victim request, smuggling works. Validate: cache poisoning chain (smuggle request that gets cached for victim), credential theft (smuggle X-Forwarded-For override that captures next user's cookies), bypass auth (smuggled internal-path request). Real paid examples from major CDN deployments. Use when hunting H1 paid programs running CDN+origin stacks, when targeting load balancer / WAF bypass.
Поиск уязвимостей HTTP request smuggling (CL.TE, TE.CL, H2.CL, H2.TE). Причина: прокси на стороне клиента и сервер на стороне бэкенда не согласны, где…
Как процесс F 33/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: ../../docs/verification/phase2h-smuggling-cachepoison.md
Как улучшить
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 1
✓ Критических и высоких находок нет
Средние и низкие: 1
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:73Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)### Mass credential harvesting — the "collector gadget"
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
missing-refссылка на отсутствующий файл: ../../docs/verification/phase2h-smuggling-cachepoison.md - заметка
frontmatter-keyнеизвестное поле фронтматтера "sources" - заметка
frontmatter-keyнеизвестное поле фронтматтера "report_count" - заметка
edit-residueв тексте есть пометки об устаревшем (строки 57): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 33/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): ../../docs/verification/phase2h-smuggling-cachepoison.md
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 3, без проверки текущего состояния
- 100Шаги. Шагов: 9
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1555 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 981: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 9 заголовков
- +3Пошаговые инструкции: 9 пунктов
- +4Есть примеры (4 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 73.