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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
0xMiddleware — CVE-2025-29927: Next.js Middleware Exploit | Kitploit
도구/GitHubGitHub/ev3rpalestine/0xmiddleware
Web Vulnerability ScannersExploitationWeb Application ExploitationWeb SecurityPenetration TestingAuthentication
GitHubev3rpalestine/0xmiddleware

0xMiddleware

CVE-2025-29927: Next.js Middleware Exploit

저장소 보기
11년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-29927: Next.js 미들웨어 익스플로잇

이 도구는 CVE-2025-29927의 악용을 시연하고 자동화합니다. 이는 Next.js의 취약점으로, 공격자가 내부 헤더 x-middleware-subrequest를 남용하여 미들웨어 검사(예: 인증)를 우회할 수 있게 해줍니다.

🔧 익스플로잇 작동 방식

Next.js는 내부적으로 재귀 요청의 무한 루프를 방지하기 위해 x-middleware-subrequest 헤더를 사용합니다. 그러나 특정 버전에서는 이 헤더가 외부 조작으로부터 보호되지 않아, 악의적인 공격자가 이를 위조할 수 있습니다.

이 헤더를 수동으로 설정하면 인증, 리다이렉트, 로깅 또는 필터링을 적용하는 미들웨어 로직이 완전히 건너뛰어집니다.

이 도구가 하는 일:

  • 기준 요청(헤더 없음)을 전송합니다.
  • x-middleware-subrequest에 대한 여러 페이로드를 반복합니다.
  • 응답 본문 내용을 비교합니다.
  • 다음을 탐지하고 보고합니다:
    • ✅ 우회 확인: 상태 코드 403이 200으로 변경됨
    • ⚠️ 응답 차이: 상태 코드는 같지만 콘텐츠가 다름(부분 우회 또는 의도치 않은 동작)
  • 결과를 후속 분석을 위해 정리된 출력 파일로 저장합니다.

🔖 영향을 받는 버전

  • Next.js 15.x < 15.2.3
  • Next.js 14.x < 14.2.25
  • Next.js 13.x < 13.5.9

취약한 대상:

  • 미들웨어를 사용하는 자체 호스팅 Next.js 앱(예: output: standalone과 함께 next start)
  • 미들웨어가 인증 또는 보안 적용에 사용되고 런타임에 재검증되지 않는 애플리케이션

취약하지 않은 대상:

  • Vercel 또는 Netlify에 호스팅된 앱
  • 정적 내보내기(next export)

👁️ 익스플로잇 실행

미들웨어 우회 예시:

root@kitploit:~
Normal Request:
  GET /admin --> 403 Forbidden

Request with Header:
  GET /admin --> 200 OK
  x-middleware-subrequest: middleware 

대상이 미들웨어를 통해 인증을 확인하더라도 이 방법으로 완전히 우회됩니다.


⚙️ 설치 및 사용법

🔥 저장소 클론

root@kitploit:~
git clone https://github.com/0x0Luk/0xMiddleware.git
cd 0xMiddleware

📂 입력

urls.txt라는 파일을 만들고 각 줄에 URL 하나씩 입력합니다:

root@kitploit:~
https://target.com/admin
https://target.com/_next/static/asset.js

🚀 도구 실행

root@kitploit:~
python3 0xMiddleware.py urls.txt

⚙️ 도구의 동작

  • 익스플로잇 헤더가 있는 요청과 없는 요청을 각 URL로 전송합니다.

  • 여러 페이로드 변형을 사용합니다:

    • middleware
    • pages/_middleware
    • src/middleware
    • (그 외 다수)
  • 로그 기록:

    • ✅ middleware_exploited.txt: 실제 우회(403 → 200)용
    • ⚠️ middleware_response_diff.txt: 응답 콘텐츠가 다를 때

🚨 수정 / 완화

즉시 Next.js를 안전한 버전으로 업그레이드하세요:

  • 15.2.3+
  • 14.2.25+
  • 13.5.9+

또한:

  • 미들웨어 검증이 서버 측에서 재확인되도록 하세요(예: getServerSideProps, JWT, 세션 사용).
  • 내부 헤더의 외부 사용을 검증하거나 거부하세요.

✨ 출력 예시

root@kitploit:~
[✔] Bypass successful: https://target.com/admin (payload: middleware)
[•] Response difference detected: https://target.com/login (payload: src/middleware)

[✔] Found 3 bypasses > middleware_exploited.txt
[•] Found 5 response diffs > middleware_response_diff.txt

🔗 참고 자료

  • ✨ CVE: https://nextjs.org/blog/cve-2025-29927
도구 다운로드