Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
MadeYouReset_Tester — 웹 서버가 MadeYouReset(CVE-2025-8671)에 취약한지 확인하는 Python 스크립트 — 서버가 자체 스트림을 재설정하도록 속여 Rapid Reset 완화 조치를 우회하는 HTTP/2 DoS 공격입니다. 비정상적인 WINDOW_UPDATE 프레임을 보내 대상을 프로브하고 서버가 응답하는지 검사합니다. | Kitploit
도구/GitHubGitHub/ayushghatkar8080/madeyoureset_tester
Vulnerability AnalysisExploitationWeb SecurityNetwork SecurityPenetration Testing
GitHubayushghatkar8080/madeyoureset_tester

MadeYouReset_Tester

웹 서버가 MadeYouReset(CVE-2025-8671)에 취약한지 확인하는 Python 스크립트 — 서버가 자체 스트림을 재설정하도록 속여 Rapid Reset 완화 조치를 우회하는 HTTP/2 DoS 공격입니다. 비정상적인 WINDOW_UPDATE 프레임을 보내 대상을 프로브하고 서버가 응답하는지 검사합니다.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
463개월 전아직 검토되지 않음
공유

MadeYouReset Checker

웹 서버가 CVE-2025-8671(CVSS 7.5 High)로 추적되는 MadeYouReset HTTP/2 서비스 거부(DoS) 취약점에 잠재적으로 취약한지 감지하는 경량 Python 스크립트입니다.


배경

MadeYouReset은 2025년 8월 텔아비브 대학교와 Imperva의 연구원들이 공개한 HTTP/2 DoS 취약점입니다. 널리 사용되는 많은 서버 구현체에서 HTTP/2 스트림 회계(accounting)와 내부 백엔드 처리 간의 불일치를 악용합니다.

이 공격은 의도적으로 잘못된 형식의 HTTP/2 제어 프레임(예: RFC 9113 §6.9.1에 따라 금지된 increment=0이 포함된 WINDOW_UPDATE)을 전송하여 서버 자체가 RST_STREAM 프레임을 발행하도록 강제합니다. 서버는 프로토콜 수준에서 스트림을 닫힌 것으로 처리하면서도 백엔드에서 요청 처리를 계속하므로, 공격자는 클라이언트 측 RST_STREAM을 하나도 보내지 않고도 MAX_CONCURRENT_STREAMS 제한을 우회해 서버 리소스를 고갈시킬 수 있습니다.

이는 이전 Rapid Reset 공격(CVE-2023-44487)에 대해 도입된 완화 조치를 우회하는 방법입니다.

영향을 받는 것으로 알려진 소프트웨어:

제품CVE
Apache Tomcat 9.x / 10.x / 11.xCVE-2025-48989
Netty < 4.1.124.Final / 4.2.4.FinalCVE-2025-55163
F5 BIG-IPCVE-2025-54500
IBM WebSphere Application Server LibertyCVE-2025-36047
Varnish, Fastly, Jetty, SUSE, Wind RiverCVE-2025-8671

Checker의 작동 방식

  1. 대상 호스트에 TCP 연결을 엽니다.
  2. ALPN을 통해 h2를 협상하는 TLS 핸드셰이크를 수행합니다.
  3. HTTP/2 클라이언트 프리페이스와 SETTINGS 프레임을 전송합니다.
  4. HEADERS 프레임으로 요청 스트림을 엽니다.
  5. 열린 스트림에서 잘못된 형식의 WINDOW_UPDATE 프레임(increment=0)을 전송합니다.
  6. 서버 응답을 분석합니다:
    • 스트림에서 RST_STREAM 수신(GOAWAY 없음) → 취약할 가능성이 높음.
    • GOAWAY 수신 → 올바른 RFC 동작. 패치되었을 가능성이 높음.
    • 응답 없음 / 판정 불가 → 수동 후속 점검 권장.

이 스크립트는 읽기 전용 수동 프로브를 수행합니다. 서버를 악용하거나 스트레스 테스트하지 않습니다.


요구 사항

  • Python 3.7+
  • 외부 패키지 없음 — 표준 라이브러리만 사용합니다.

설치

git clone https://github.com/ayushghatkar8080/MadeYouReset_Tester.git
cd MadeYouReset_Tester
# No pip install needed — no dependencies

사용법

python3 main.py <url> [OPTIONS]

옵션

플래그기본값설명
--timeout SECONDS8소켓 읽기 타임아웃
--no-coloroffANSI 색상 출력 비활성화

예제

# Basic check
python3 main.py https://example.com

# Custom port and longer timeout
python3 main.py https://example.com:8443 --timeout 15

# CI-friendly (no colour)
python3 main.py https://example.com --no-color

종료 코드

코드의미
0취약하지 않음 — 서버가 GOAWAY로 응답함(올바른 RFC 동작)
1취약할 가능성이 높음 — 서버가 스트림에서 RST_STREAM을 보냈지만 GOAWAY는 없음
2판정 불가 — HTTP/2 없음, 연결 오류 또는 모호한 응답

종료 코드 덕분에 CI 파이프라인이나 자동화 스크립트에 쉽게 통합할 수 있습니다.


샘플 출력

========================================================
  MadeYouReset (CVE-2025-8671) Checker
========================================================
  Target  : https://vulnerable-server.example.com
  Host    : vulnerable-server.example.com:443
  Path    : /
  Timeout : 8.0s
────────────────────────────────────────────────────────

[*] Connecting to vulnerable-server.example.com:443 ...
  ✓ TCP connection established

[*] Performing TLS handshake (ALPN: h2, http/1.1) ...
  → Negotiated protocol : h2
  ✓ HTTP/2 (h2) negotiated via ALPN

[*] Sending HTTP/2 client preface ...
  ✓ Preface + SETTINGS sent

[*] Waiting for server SETTINGS ...
  ← Frame type=0x04 stream=0 length=18
  ✓ Server SETTINGS received
  ✓ Sent SETTINGS ACK

[*] Opening HTTP/2 stream 1 (HEADERS frame) ...
  ✓ HEADERS sent on stream 1

[*] Sending malformed WINDOW_UPDATE (increment=0) on stream 1 ...
    RFC 9113 §6.9.1: increment=0 is a stream-level FLOW_CONTROL_ERROR
  ✓ Malformed WINDOW_UPDATE sent

[*] Analysing server response (timeout=8.0s) ...
  ← RST_STREAM  stream=1  error_code=0x00000003

────────────────────────────────────────────────────────
  RESULT
────────────────────────────────────────────────────────
  [LIKELY VULNERABLE]
  Server responded with RST_STREAM on stream 1
  (error_code=0x00000003) but did NOT send GOAWAY.

  Recommended actions:
  • Patch: Apache Tomcat ≥10.1.44/11.0.10/9.0.108,
           Netty ≥4.1.124.Final / 4.2.4.Final,
           and other vendor advisories for CVE-2025-8671.
  • Interim: disable HTTP/2 or deploy a WAF/proxy that
             validates HTTP/2 frames before forwarding.
========================================================

완화 방법

조치상세
패치HTTP/2 스택에 대한 최신 공급업체 업데이트 적용(위 표 참조)
HTTP/2 비활성화임시 완화 조치로 HTTP/1.1로 대체
WAF / 프록시에지에서 HTTP/2 프레임을 검증하는 리버스 프록시 또는 WAF 배포
속도 제한클라이언트별 연결 상한 및 RST_STREAM 속도 제한 적용

면책 조항

이 도구는 승인된 보안 테스트 및 연구 목적으로만 사용해야 합니다.
소유하지 않았거나 명시적인 서면 허가를 받지 않은 시스템에 대해 이 스크립트를 실행하지 마십시오.
저자는 오용에 대해 어떠한 책임도 지지 않습니다.


참고 자료

  • CERT/CC VU#767506
  • Netty Security Advisory — GHSA-prj3-ccx8-p6x4
  • Jetty Security Advisory — GHSA-mmxm-8w33-wc4h
  • NVD — CVE-2025-8671
  • RFC 9113 — HTTP/2 §6.9.1 Flow Control
도구 다운로드