
CTF challenge container avec une vulnérabilité middleware Next.JS (CVE-2025-29927) pour s'entraîner aux attaques de type homme du milieu et à l'exploitation d'API.
Cette application est nommée Man-in-the middle car elle contient une vulnérabilité dans le middleware Next.JS et le flag se trouve dans l'appel API.
.env.productionDATABASE_URL=postgresql://postgres:password@db:5432/nextauth
JWT_SECRET=your-production-secret
docker compose up --build -d
git clone <your-repo-url>
cd <your-project-folder>
npm install
Créez un docker-compose.dev.yml séparé pour le développement :
version: "3.8"
services:
db:
image: postgres:16
restart: always
environment:
POSTGRES_USER: devuser
POSTGRES_PASSWORD: devpass
POSTGRES_DB: devdb
volumes:
- devdata:/var/lib/postgresql/data
ports:
- "5433:5432"
volumes:
devdata:
Ensuite, exécutez-le :
docker compose -f docker-compose.dev.yml up -d
.envDATABASE_URL=postgresql://devuser:devpass@localhost:5433/devdb
JWT_SECRET=dev-secret
npx prisma generate
npx prisma migrate dev --name init
npx tsx prisma/seed.ts
npm run dev
Application : http://localhost:3000
Vous pouvez tester la connexion avec l'utilisateur admin initialisé :
email: [email protected]
password: adminSup3rS3cur3P@ssw0rd