TP Test d’intrusion
Préparation
Installer Burp Community depuis leur site.
Plate-forme Juice Shop
Le TP utilise la plate-forme https://owasp-juice.shop/ : une application web Node.js / React avec de nombreuses vulnérabilités. Chaque étudiant⋅e a une VM fournie sur Tomuss dont le nom est au format vm-pentest-${ID}.tiwfsa-pentest.os.univ-lyon1.fr
. Tout se passe via HTTP (pas HTTPS 💥), il n’y a pas d’accès direct via SSH à la machine.
Le code source de l’application est disponible sur GitHub, mais ici le principe est de travailler en boîte noire, sans connaître le code dans un premier temps. De plus, il y a un site très bien fait qui guide l’exploitation de Juice Shop et beaucoup d’utilisateur qui diffusent des solutions. Il est demandé de ne pas se référer à ses sites et d’essayer de découvrir par soi-même. Les intervenants de TP feront des points d’avancement pendant les séances pour cela.
Défis
Commencer par suivre le happy path, c’est-à-dire la navigation d’un utilisateur normal qui essaie les différentes fonctionnalités de l’application.
Énumérer toutes les vues et routes de l’application Juice Shop. Vous devriez trouver le tableau de scores qui sera nécessaire pour la suite.
Ensuite, exploiter les vulnérabilités suivantes dans cet ordre.
- Tester l’application et lister les fonctionnalités.
- Trouver un moyen de se loguer sur l’application en tant qu’un autre utilisateur.
- Créer un nouveau compte avec le rôle admin.
- Exfiltrer le schéma de la base de donnée sans utiliser d’outils.
- Trouver un moyen de payer sans mettre d’argent dans le wallet ou utiliser de CB (NB : pas de défis associé à cette étape dans le tableau des scores).
- Récupérer un fichier sur la machine (utiliser la XXE).
- Récupérer les données personnelles de quelqu’un d’autre.
- Trouver un moyen de rediriger un utilisateur (open redirect).
- Modifier un token JWT.
- Modifier un token JWT et le signer.