
Обучающие эксплойт-скрипты для атак на HTTP/3 (CVE-2022-30592), включая HTTP3-loris, HTTP3-stream и HTTP3-flooding, протестированные на серверах с поддержкой QUIC.
На основе работы: E. Chatzoglou, V. Kouliaridis, G. Kambourakis, G. Karopoulos, and S. Gritzalis, "A hands-on gaze on HTTP/3 security through the lens of HTTP/2 and a public dataset", Computers & Security, p. 103051, 2022.
Этот репозиторий служит для публикации скриптов, которые мы использовали в образовательных целях. Эти атаки были частью нашего исследования и были протестированы на 6 различных серверах с поддержкой QUIC (IIS, NGINX, LiteSpeed, Cloudflare, H2O и Caddy), которые были настроены для взаимодействия по протоколу HTTP/3. Скрипт http-stream является эксплойтом для уязвимости CVE-2022-30592, которая затронула библиотеку lsquic. Этот скрипт также может использоваться против сервера Litespeed.
Для проведения этих атак использовался клиент Ubuntu 18.04 с помощью библиотеки aioquic для Python для HTTP3-loris и HTTP3-stream. Для атаки HTTP3-flooding использовался инструмент curl с поддержкой HTTP/3. Ниже приведены инструкции по установке aioquic для атак HTTP3-loris и HTTP3-stream.
Измените параметр URL на целевой. Обратите внимание, что в зависимости от возможностей целевого сервера для каждого параметра в эксплойтах могут потребоваться разные значения.
Ниже приведены инструкции по установке curl для атаки HTTP3-flooding.
После подключения к docker через bash выполните ./http3-flood.sh.
====================================================
Лицензия MIT
Copyright (c) 2022 Efstratios Chatzoglou
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного программного обеспечения и сопутствующих файлов документации (далее — «Программное обеспечение»), использовать Программное обеспечение без ограничений, включая, без ограничения, права на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешение лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Вышеуказанное уведомление об авторских правах и данное разрешение должны быть включены во все копии или значительные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ КОНКРЕТНЫМ ЦЕЛЯМ И ОТСУТСТВИЯ НАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ, УБЫТКАМ ИЛИ ИНЫМ ОБЯЗАТЕЛЬСТВАМ, БУДЬ ТО В РАМКАХ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩИМ ИЗ, В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ЕГО ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С НИМ, ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.