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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CTF-Web-Exploitation — CVE-2023-25690, WebAuthn 우회, HTTP/3 스머글링 및 고급 XSS/RCE 체인을 다루는 12개의 컨테이너화된 웹 익스플로잇 챌린지 종합 모음 | Kitploit
도구/GitHubGitHub/arnavps/ctf-web-exploitation
ReconnaissanceContainer SecurityVulnerability AnalysisExploitationScripting & AutomationWeb Application ExploitationWeb SecurityFuzzingCTFLearning & EducationLabs & Practice
14개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
arnavps/ctf-web-exploitation

CTF-Web-Exploitation

CVE-2023-25690, WebAuthn 우회, HTTP/3 스머글링 및 고급 XSS/RCE 체인을 다루는 12개의 컨테이너화된 웹 익스플로잇 챌린지 종합 모음

저장소 보기

네더 포털 역동기화 (HUUP)

"저는 정해진 길을 따라 여행하지 않고 공허를 자유롭게 뛰어넘습니다. 저를 잘못 포장하면, 당신의 비밀을 엉뚱한 문 앞에 배달하게 될 것입니다."

설명

이 챌린지는 UDP 위에서 동작하는 HTTP/3(QUIC) 애플리케이션을 다룹니다. UDP는 무상태(stateless) 프로토콜이고 프록시가 TCP처럼 엄격한 HTTP 요청 경계를 강제하지 않기 때문에, 프록시와 백엔드 서버를 역동기화시키는 것이 가능합니다. 공격자는 다른 요청 안에 숨겨진 HTTP 요청을 밀반입할 수 있습니다.

참고: 최대 메시지 길이는 1024바이트이고, GET 요청만 실제로 동작하며, 메시지는 10초 후 폐기됩니다.

대상: byuctf.xyz:40011

취약점 분석

  • 취약점: HTTP 요청 스머글링 (UDP/QUIC 기반)
  • 근본 원인: 신뢰할 수 없는 프로토콜 환경에서 프론트엔드 프록시와 백엔드 애플리케이션 간의 HTTP 페이로드 경계 파싱 불일치.

이 특정 구현에서는 Python 미들웨어(udp_server.py)가 포트 40000에서 수신되는 텍스트를 수신 대기합니다. 이 서버는 \r\n\r\n이 발견되면 해당 요청을 실제 웹 서버로 전달합니다. UDP이기 때문에 패킷이 부분적으로 전달될 가능성이 높으며, 여러 요청을 빠르게 보내거나 패킷 경계를 조작하면 역동기화가 발생할 수 있습니다.

풀이

이 챌린지를 해결하려면 UDP의 신뢰할 수 없는 특성과 미들웨어가 요청 경계를 처리하는 특정 방식을 고려해야 합니다.

  1. 정찰: 루트 / 엔드포인트에 접근하면 네더 연결 불안정성에 대한 힌트가 드러납니다.
  2. 엔드포인트 발견: /endpoints.txt로 이동하면 200개의 가능한 숨겨진 엔드포인트 목록을 찾을 수 있습니다.
  3. 무차별 대입(Brute Force): 이 엔드포인트 중 하나에 플래그가 있고, 나머지 세 개는 오탐(false positive)을 반환합니다.
  4. 프로토콜 숙지: UDP 미들웨어로 인해 표준 브라우저 요청은 전체 응답 본문을 받지 못할 수 있습니다(연결이 닫히거나 시간 초과되기 전에 헤더만 반환될 수 있음).
  5. 자동화: 대상에 UDP로 원시 HTTP 요청을 보내는 스크립트를 작성하세요(solve.py 참조). 스크립트는 엔드포인트를 순회하며 전체 응답(본문 포함)을 받을 때까지 각 엔드포인트를 반복해서 요청해야 합니다.

완화 방안

  • 프론트엔드와 백엔드 모두 요청 경계를 파싱할 때 정확히 동일한 로직을 사용하도록 하세요.
  • 헤더 스트림에 모호한 길이 헤더나 잘못된 문자가 포함된 요청은 거부하세요.
  • 사용자 정의 UDP-to-TCP 전달 로직 대신 검증된 HTTP/3 라이브러리를 사용하세요.

힌트

  • 프론트 프록시가 백 프록시와 어떻게 통신하는지 파악해 보셨나요?
  • 사용 중인 프로토콜을 확인하세요—UDP는 전달을 보장하지 않습니다!

플래그

CH4KR4X2{P0D5_bl0ckch41n_br34ch}

호스팅

이 챌린지는 포트 1337에서 Flask 서버를 실행하고 포트 40000에서 udp_server.py를 실행합니다.

빌드:

root@kitploit:~
sudo docker build -t huup .
sudo docker network create -d bridge huup

실행:

root@kitploit:~
sudo docker run -p 40011:40000/udp --detach --name huup --network huup huup:latest
도구 다운로드