
Инструмент проверки концепции (PoC) для уязвимости CVE-2023-44487 HTTP/2 Rapid Reset DoS. Проверяет отдельные или массовые URL-адреса на подверженность кадрам RST_STREAM с выводом в форматах CSV/TXT/XLSX.
Данный скрипт представляет собой доказательство концепции (Proof of Concept, PoC) для CVE-2023-44487, также известной как атака быстрого сброса HTTP/2 (HTTP/2 Rapid Reset Attack). Уязвимость позволяет злоумышленникам выполнять атаку типа «отказ в обслуживании» (Denial of Service, DoS) путём быстрой отправки кадров RST_STREAM по соединениям HTTP/2, перегружая целевой сервер.
Установите необходимые библиотеки Python с помощью следующей команды:
pip install -r requirements.txt
Также можно установить их по отдельности:
pip install httpx==0.24.0
pip install h2==4.1.0
pip install tqdm==4.66.1
pip install xlsxwriter==3.1.6
Клонируйте репозиторий
git clone https://github.com/yourusername/CVE-2023-44487-HTTP-2-Rapid-Reset-Exploit-PoC.git
cd CVE-2023-44487-HTTP-2-Rapid-Reset-Exploit-PoC
Настройте виртуальное окружение (опционально, но рекомендуется)
python3 -m venv venv
source venv/bin/activate
Установите зависимости
pip install -r requirements.txt
--url: URL для тестирования (например, https://example.com или http://example.com)--bulk: Файл со списком URL для тестирования--port: Указать порт (по умолчанию 443 для HTTPS, 80 для HTTP)--output: Выходной файл для сохранения результатов (.csv, .txt или .xlsx)Тестирование одного URL
python3 main.py --url https://example.com
Тестирование нескольких URL из файла
python3 main.py --bulk urls.txt
Указание произвольного порта
python3 main.py --url http://example.com --port 8080
Сохранение результатов в файл
python3 main.py --bulk urls.txt --output results.xlsx
[
{
"Timestamp": "2024-12-03 10:00:00",
"URL": "https://example.com",
"HTTP/2 Support": "Yes",
"Vulnerable": "VULNERABLE",
"Details": "RST_STREAM sent successfully"
},
{
"Timestamp": "2024-12-03 10:00:05",
"URL": "http://testsite.com",
"HTTP/2 Support": "No",
"Vulnerable": "SAFE",
"Details": "Downgraded to HTTP/1.1"
}
]
| Timestamp | URL | HTTP/2 Support | Vulnerable | Details |
|---|---|---|---|---|
| 2024-12-03 10:00:00 | https://example.com | Yes | VULNERABLE | RST_STREAM sent successfully |
| 2024-12-03 10:00:05 | http://testsite.com | No | SAFE | Downgraded to HTTP/1.1 |
RST_STREAM таким образом, который может указывать на уязвимость к CVE-2023-44487. Рекомендуется дополнительная ручная проверка.httpx==0.24.0
h2==4.1.0
tqdm==4.66.1
xlsxwriter==3.1.6
Предположим, у вас есть файл urls.txt, содержащий:
https://example.com
http://testsite.com
https://vulnerable-site.com
Команда:
python3 main.py --bulk urls.txt --output results.csv
Пример results.csv:
Timestamp,URL,HTTP/2 Support,Vulnerable,Details
2024-12-03 10:15:00,https://example.com,Yes,VULNERABLE,RST_STREAM sent successfully
2024-12-03 10:15:05,http://testsite.com,No,SAFE,Downgraded to HTTP/1.1
2024-12-03 10:15:10,https://vulnerable-site.com,Yes,VULNERABLE,RST_STREAM sent successfully
Примечание: Замените https://vulnerable-site.com на реальный сайт, на тестирование которого у вас есть разрешение.
Дайте знать, если вам потребуется дополнительная помощь или изменения!