
Обширная коллекция из 12 контейнеризированных задач по эксплуатации веб-уязвимостей, охватывающих CVE-2023-25690, обходы WebAuthn, смуглинг HTTP/3 и продвинутые цепочки XSS/RCE.
"Я путешествую не по проложенным дорогам, а свободно прыгаю через пустоту. Упакуй меня неправильно, и я доставлю секрет не на тот порог."
Задача представляет собой приложение HTTP/3 (QUIC), работающее поверх UDP. Поскольку UDP не сохраняет состояние, а прокси не обеспечивает строгих границ HTTP-запросов, как TCP, возможна десинхронизация прокси и внутреннего сервера. Атакующий может внедрить скрытый HTTP-запрос внутрь другого запроса.
Примечания: максимальная длина сообщения — 1024 байта, реально работают только GET-запросы, сообщения удаляются через 10 секунд
Цель: byuctf.xyz:40011
В этой конкретной реализации Python-промежуточное ПО (udp_server.py) прослушивает порт 40000 для входящего текста. Этот сервер пересылает запросы фактическому веб-серверу, как только находит \r\n\r\n. Поскольку используется UDP, существует высокая вероятность частичной доставки пакетов, что приводит к десинхронизации, если отправлять несколько запросов быстро или манипулировать границами пакетов.
Чтобы решить эту задачу, необходимо учесть ненадёжность UDP и то, как именно промежуточное ПО обрабатывает границы запросов.
/ выявляет подсказку о нестабильности соединения Незера./endpoints.txt, чтобы найти список из 200 возможных скрытых точек.solve.py), который отправляет сырые HTTP-запросы по UDP к цели. Скрипт должен перебирать эндпоинты и повторно запрашивать каждый из них, пока не будет получен полный ответ (содержащий тело).CH4KR4X2{P0D5_bl0ckch41n_br34ch}
Эта задача запускает Flask-сервер на порту 1337 и udp_server.py на порту 40000.
Сборка:
sudo docker build -t huup .
sudo docker network create -d bridge huup
Запуск:
sudo docker run -p 40011:40000/udp --detach --name huup --network huup huup:latest