Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/manisso/http2-bomb
Vulnerability AnalysisExploitationWeb SecurityPenetration TestingLearning & Education
GitHubmanisso/http2-bomb

http2-bomb

CVE-2026-49975에 대한 개념 증명(PoC) – HPACK 증폭 및 연결 유지를 활용한 HTTP/2 서버 메모리 고갈 공격(HTTP/2 Slowloris).

저장소 보기
52개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

HTTP/2 Bomb - CVE-2026-49975

서비스 거부(DoS) 개념 증명으로, HTTP/2 서버를 대상으로 합니다. HPACK 증폭과 스트림 유지를 결합하여, 적당한 네트워크 연결을 가진 단일 머신이 취약한 서버를 몇 초 내에 사용 불가능하게 만들 수 있습니다.

취약점

  • CVE: CVE-2026-49975
  • 제목: Apache HTTP Server: mod_http2 서비스 거부
  • 공식 설명: Apache HTTP Server의 mod_http2 모듈에서 과도한 크기의 메모리 할당 취약점(CWE-789)으로 인해 특수하게 조작된 HTTP 요청을 통해 서비스 거부 공격이 가능합니다.
  • 영향받는 버전: Apache HTTP Server 2.4.17 ~ 2.4.67.
  • 영향: 이 공격은 HPACK 증폭과 Slowloris 스타일의 연결 유지를 결합하여 서버 메모리와 리소스를 빠르게 소진시킵니다. 100Mbps 연결을 가진 단일 공격자도 취약한 서버를 압도할 수 있습니다.
  • 발견자: Quang Luong (Calif.IO)이 OpenAI Codex와 협력하여 발견.

공격 개요

이 익스플로잇은 실행 로그에 나타난 대로 여러 단계로 진행됩니다:

  1. TCP/TLS 연결 설정
    대상 서버에 여러 개의 동시 TCP/TLS 연결이 열립니다.

  2. HTTP/2 협상
    클라이언트는 서버가 허용하는 최대 동시 스트림 수(보통 100 또는 128)를 감지합니다.

  3. HPACK 프라이밍
    신중하게 조작된 HTTP 헤더를 전송하여 서버가 과도하게 큰 HPACK 압축 테이블을 할당하도록 강제하여 메모리 소비를 빠르게 증가시킵니다.

  4. 연결 유지
    스트림이 열리면 연결이 무기한 유지되어 할당된 메모리가 해제되는 것을 방지하고 결국 서버의 사용 가능한 RAM을 소진시킵니다.

테스트 결과 및 관찰된 동작

여러 웹 서버를 기본 구성으로 테스트했습니다.

웹 서버테스트 버전RAM메모리 소진 시간관찰된 동작
Envoy1.37.232 GB~10초매우 빠르게 메모리를 성공적으로 소진했습니다.
Apache HTTP Server2.4.6732 GB~18초스트림 제한은 보통 100입니다. HPACK 프라이밍과 무기한 연결 유지를 통한 표준 공격 진행.
nginx1.29.732 GB~45초스트림 제한은 보통 128입니다. 공격은 성공하지만 사용 가능한 메모리를 소비하는 데 더 많은 시간이 필요합니다.
Microsoft IIS지정되지 않음64 GB~45초비정상적으로 큰 스트림 제한(예: 4294967297)을 광고할 수 있습니다.
취약하지 않은 대상다양함--서버의 구성된 스트림 제한을 초과하려고 할 때 즉시 TLS 실패 또는 TooManyStreamsError 발생.

일반적인 오류

h2.exceptions.TooManyStreamsError

--streams에 제공된 값이 서버가 지원하는 최대 동시 스트림 수를 초과할 때 발생합니다.

해결 방법: 공격을 시작하기 전에 서버의 스트림 제한을 확인하세요.


NameError: name 'SettingsAcknowledued' is not defined

PoC 소스 코드의 간단한 오타입니다.

해결 방법: 다음을 교체하세요:

root@kitploit:~
SettingsAcknowledued

with:

root@kitploit:~
SettingsAcknowledged

[SSL] unknown error

일반적으로 대상이 TLS를 통한 HTTP/2를 지원하지 않거나 들어오는 연결을 거부하고 있음을 나타냅니다.


EOF occurred in violation of protocol

원격 서버가 예기치 않게 연결을 종료했습니다.

이는 서버가 리소스 소진을 시작하고 새 연결을 거부하기 시작할 때 자주 발생합니다.


Invalid input ConnectionInputs.SEND_HEADERS

모든 요청 헤더가 전송되기 전에 서버가 HTTP/2 연결을 종료했습니다.

사용법

개념 증명은 Python 스크립트로 구현되었습니다.

설치

root@kitploit:~
git clone https://github.com/califio/http2-bomb.git
cd http2-bomb
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

예제 명령어

10개의 연결과 100개의 스트림을 사용한 기본 공격:

root@kitploit:~
python bomb.py example.com --streams 100 --connections 10

(대상이 연결당 최소 100개의 동시 스트림을 허용해야 합니다.)

자동 스트림 제한 감지:

root@kitploit:~
python bomb.py example.com --connections 10

대규모 공격:

root@kitploit:~
python bomb.py target.example.com --connections 50

대량 연결 테스트:

root@kitploit:~
python h2bomb.py -t target.example.com:443 -c 1000

매우 대규모 연결 테스트:

root@kitploit:~
python h2bomb.py -t example.com -c 20000

크레딧

  • 원본 취약점 연구 : Quang Luong (Calif.IO)
  • 협력: OpenAI Codex

법적 고지

이 소프트웨어는 보안 연구, 교육 목적 및 명시적 승인을 받은 시스템 테스트를 위해서만 제공됩니다.

소유하지 않거나 테스트 권한이 없는 시스템에 대해 이 도구를 무단 사용하면 관련 법률 및 규정을 위반할 수 있습니다. 저자와 기여자는 이 소프트웨어 사용으로 인한 오용이나 손해에 대해 책임을 지지 않습니다.

도구 다운로드