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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2025-29927-lab — 의도적으로 취약하게 만든 Next.js 애플리케이션으로, CVE-2025-29927 (미들웨어 기반 인증 우회)를 학습 및 버그 바운티 연습용으로 시연합니다. | Kitploit
도구/GitHubGitHub/metasploit403/cve-2025-29927-lab
Authentication & AuthorizationVulnerability AnalysisWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubmetasploit403/cve-2025-29927-lab

cve-2025-29927-lab

의도적으로 취약하게 만든 Next.js 애플리케이션으로, CVE-2025-29927 (미들웨어 기반 인증 우회)를 학습 및 버그 바운티 연습용으로 시연합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

이 저장소는 Next.js로 구축된 의도적으로 취약하게 만든 웹 애플리케이션을 포함하고 있습니다. CVE-2025-29927로 알려진 보안 문제를 시연하고 연구하기 위해 설계되었습니다. 이 프로젝트의 목표는 보안 연구자, 학생, 버그 바운티 헌터가 실제 환경과 유사한 환경에서 취약점이 어떻게 작동하는지 이해하도록 돕는 것입니다.

[!CAUTION ] 이 애플리케이션은 의도적으로 안전하지 않으며 프로덕션 환경에 절대 배포해서는 안 됩니다.

🔩목적

  • 취약점이 어떻게 작동하는지 학습
  • 안전하게 식별하고 악용하는 방법 연습
  • 안전하지 않은 미들웨어 처리의 영향 이해
  • 버그 바운티 및 웹 보안 기술 향상

🐞취약점

CVE-2025-29927은 Next.js로 구축된 애플리케이션, 특히 미들웨어에서 요청 로직의 부적절한 처리와 관련이 있습니다. 이로 인해 공격자는 다음을 수행할 수 있습니다.

  1. 인증 또는 권한 부여 검사 우회
  2. 조작된 헤더 또는 입력을 사용하여 요청 흐름 조작
  3. 제한된 리소스에 액세스

📁프로젝트 구조

  • app/ → 애플리케이션 라우트
  • middleware.ts → 취약한 로직 포함
  • api/ → 백엔드 엔드포인트 (보호된 라우트 포함)

⚙️설치 및 설정

git clone https://github.com/metasploit403/cve-2025-29927-lab
cd cve-2025-29927-lab
npm install
npm run dev

🪲취약한 엔드포인트

일부 라우트는 의도적으로 취약하며 다음을 포함할 수 있습니다.

- /api/admin/secret
- /api/internal/health
- /api/private/data

이 엔드포인트는 적절한 권한 부여 없이 액세스할 수 없는 제한된 리소스를 시뮬레이션합니다.

🔥악용

  1. 저장소를 성공적으로 클론했다고 가정합니다.
  2. 시작 npm run dev
  3. 이렇게 하면 프로젝트가 로컬에서 실행됩니다.
  4. 원하는 브라우저(예: Chrome)를 열고 http://localhost:3000을 입력합니다.
  5. 3개의 API 엔드포인트 중 하나에 접근해 봅니다.

- /api/admin/secret - /api/internal/health - /api/private/data

  1. 이제 엔드포인트와 함께 시도해 봅니다.

- http://localhost:3000/api/admin/secret - http://localhost:3000/api/internal/health - http://localhost:3000/api/private/data

  1. 요청이 차단된 것을 관찰하세요. 이는 요청에 cookie가 포함되지 않았기 때문입니다. 즉, 엔드포인트가 미들웨어에 의해 보호되고 있습니다. 미들웨어는 요청에 쿠키가 있는지 확인하고, 없으면 자동으로 차단됩니다.

  2. 이제 요청에 cookie를 추가해 보겠습니다. 이를 위해 Chrome 개발자 도구를 엽니다. (여기서는 Chrome 브라우저를 사용합니다. 원하는 브라우저를 사용해도 됩니다.)

  3. F12를 누르면 Chrome 개발자 도구가 열립니다.

  4. 콘솔 탭으로 이동합니다.

  5. 콘솔 탭에서 document.cookie="lab-auth=authenticated"를 입력합니다.

  6. 이제 페이지를 새로고침하면 로그인된 것을 확인할 수 있습니다.

미들웨어가 요청에 쿠키가 포함되어 있는지 확인한다는 점을 명심하세요. 요청에 쿠키가 있으면 성공적으로 로그인되고, 없으면 차단됩니다. 문제는 쿠키를 제공하지 않고 미들웨어 검사를 우회하고 로그인하는 방법입니다. 이것이 CVE-2025-29927이 우리가 할 수 있게 해주는 것입니다.

이제 CVE-2025-29927로 미들웨어 인증 검사를 우회해 보겠습니다. 여기서 요령은 이 특정 헤더를 추가하는 것입니다. x-middleware-subrequest: middleware. 이 헤더는 프레임워크에서 내부적으로만 사용되어야 합니다. 이것을 추가하면 미들웨어가 요청에 쿠키가 있는지 확인하는 것을 중단하고, 애플리케이션의 모든 민감한 엔드포인트가 무방비 상태가 됩니다.

이를 악용하려면 cURL을 사용합시다. curl은 서버에 요청을 보내고 응답을 받기 위한 명령줄 도구입니다.

1.쿠키 없이 401 예상

curl.exe -i http://localhost:3000/api/admin/secret

서버가 307 임시 리디렉션 상태 코드로 응답하는 것을 관찰하세요. 쿠키가 없으므로 홈페이지/루트 페이지로 리디렉션됩니다. 즉, 쿠키를 제공하지 않으면 로그인할 수 없습니다.

2.curl.exe -i http://localhost:3000/api/admin/secret -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware"

이제 "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" 를 추가했습니다. 쿠키 없이 로그인에 액세스할 수 있게 된 것을 확인하세요. 이것은 완전한 인증 우회입니다.

🔐완화 조치

실제 애플리케이션에서 이러한 문제를 해결하려면:

  • 클라이언트가 제어하는 헤더를 맹목적으로 신뢰하지 마십시오.
  • 미들웨어에서 모든 입력을 검증하십시오.
  • 서버 측에서 적절한 인증 검사를 구현하십시오.
  • 안전하지 않은 요청 가정에 의존하지 마십시오.
  • 패치된 버전의 next로 업그레이드하십시오.
  • 업그레이드할 수 없는 경우 리버스 프록시에서 x-middleware-subrequest 헤더를 제거하십시오.

🫵대상

  • 버그 바운티 헌터
  • 보안 연구자
  • 웹 보안을 배우는 학생
  • 안전한 미들웨어 설계를 이해하려는 개발자

⛔면책 조항

이 프로젝트는 교육 목적으로만 제공됩니다. 소유하고 있거나 명시적 허가를 받은 시스템이 아닌 경우 이러한 기술을 사용하지 마십시오.

🤝기여

자유롭게 다음을 수행하세요:

  • 실습 환경 개선
  • 새로운 취약 시나리오 추가
  • 수정 사항 또는 더 나은 설명 제출

⭐지원

이 저장소가 유용하다면 별표를 눌러 주시기 바랍니다.

🏷️태그

- Next.js 
- Bug Bounty 
- Web Security 
- CVE-2025-29927 
- Middleware Authentication 
- Bypass
도구 다운로드