Pour lancer l'application, téléchargez l'archive suivante:
Code source de l'application (Docker)
Vous pouvez alors exécutez docker-compose up pour lancer l'application. Plusieurs containers s'éxécutent:
web pour l'applicationphpmyadmin pour l'administration de la base de donnéesroot / Password: rootmysql pour la base de donnéesL'application est déployée sur un serveur distant, que nous utiliserons pour tester nos attaques. Vous pouvez tester qu'elle fonctionne:
Application en "production"
Pour des raisons évidentes, l'application ne sera lancée que pendant la durée du TD.
N'utilisez pas de mot de passe sensible sur cette application.
L'application proposée est vulnérable à une faille reflected XSS. Trouvez la.
En vous aidant de l'exemple vu en cours, vous forgerez un lien qui vise à attaquer un utilisateur de l'application, et à lui voler son cookie de session. Pour cela, vous utiliserez le service suivant afin de récolter le cookie de session:
Outil permettant de logger des requêtes
Vous testerez ce sur l'application distante, à l'aide d'un autre étudiant.
Le site est également vulnérable à une faille CSRF. Trouvez la.
En vous aidant de l'exemple vu en cours, vous créerez une page HTML qui permettra d'exploiter la faille trouvée. Afin de tester avec un autre étudiant, vous pourrez utiliser le service en ligne suivant, qui vous permettra d'écrire une page qui exploite la faille:
Outil permettant d'héberger des pages HTML
Reproduisez l'attaque sur votre propre instance de l'application.
Implémentez une protection contre cette faille dans votre version de l'application.
L'application est vulnérable à une injection SQL par UNION. Trouvez la.
Exploiterez cette faille pour récupérer les mots de passes des utilisateurs.
L'application est vulnérable à une injection à l'aveugle. Trouvez la.
Exploitez cette faille afin de récupérer le mot de passe d'un utilisateur ciblé.
Indication: vous aurez besoin pour cela de forger des requêtes HTTP manuellemet. Vous pourrez par exemple vous aider de Python et de l'API requests.