
CVE-2025-55182를 시연하는 의도적으로 취약한 Next.js 기업 랜딩 페이지: React Server Components의 안전하지 않은 역직렬화를 통한 RCE/SSRF로 이어지는 JSON 주입.
이 저장소는 Next.js 15.0.0 + React 19.0.0으로 구축된 다중 페이지 기업 랜딩 페이지의 예시입니다. 사이트는 t1.ru와 유사한 구조(홈, 제품, 사례, 미디어, 회사 소개, 연락처)를 모방합니다. React Server Components(RSC), Tailwind CSS, 애니메이션용 Framer Motion, 아이콘용 lucide-react, 배지용 shadcn/ui, 데이터베이스용 Prisma 및 SQLite(연락처 양식이 메시지를 저장)를 사용합니다.
이 프로젝트는 PT-2025-48817 데모를 위해 의도적으로 취약하게 만들어졌습니다. 연락처 양식을 통한 JSON 인젝션으로, react-server-dom-webpack의 안전하지 않은 역직렬화로 인해 RCE/SSRF로 이어질 수 있습니다.
저장소를 클론합니다:
git clone <url-репы>
cd <директория>
종속성을 설치합니다:
npm install
버전 문제(예: 빌드 오류)가 있으면 다음을 시도하세요:
npm install --legacy-peer-deps
또는 Node.js를 업데이트하세요:
sudo apt remove --purge nodejs npm -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt update
sudo apt install -y nodejs
node -v # должно быть v20.x.x
rm -rf node_modules package-lock.json
npm install
Prisma 초기화 (필요시 다시):
npx prisma init
npx prisma migrate dev --name init
.env 파일에 다음이 있어야 합니다: DATABASE_URL="file:./prisma/dev.db".
개발 모드:
npm run dev
빌드 및 프로덕션:
npm run build
npm run start
데이터베이스 보기:
npx prisma studio
{ "type": "system", "payload": { "action": "ls" } }와 같은 조작된 페이로드를 보내면 exec가 명령을 실행합니다. 이는 RSC의 역직렬화 공격 시뮬레이션입니다.