Aller au contenu

Hackleprof⚓︎

Objectifs⚓︎

Objectif minimal⚓︎

Trouver le mot de passe du prof à l'adresse suivante https://html.brunache.ovh/hackleprof.html. Son adresse email est l'adresse de type prenom.nom@monlycee.net.

Objectifs secondaires (améliorations)⚓︎

  1. Savoir à quel rang on a réussi à trouver le mot de passe ? A-t-on éte le premier, le deuxième, etc... (la page sur laquelle on arrive une fois connectée indique cette information)
  2. Mesurer le temps mis par notre programme pour trouver le mot de passe (utiliser le module time).
  3. (indépendant) Mettre en place un site web dynamique avec le module flask (fonctionnant localement comme en TP) avec une page de connection et une page d'accueil.

Rendu technique⚓︎

Le projet devra comporter à minima 1 fichier python ayant servi à hacker le mot de passe.

Quelques informations (très) utiles⚓︎

  • Le mot de passe fait parti d'un leak (fuite) très célèbre de mots de passe, qui est le leak du site Rockyou. Dans la base de données de ce site, 32 millions de mots de passe étaient stockés en clair. ces 32 millions de mots de passe se sont retrouvés dans la nature. Ils sont aujourd'hui téléchargeables librement, et constituent un dictionnaire de 14 341 564 mots de passe différents (car parmi les 32 millions d'utilisateurs, beaucoup utilisaient des mots de passe identiques). Dans notre cas, le mot de passe est parmi les 1000 premiers mots de passe téléchargeable ici: extraitrockyou.txt.
  • Bien observer le code source de la page web à "hacker". En particulier le formulaire.
  • Bien relire et comprendre le TP2 sur les requêtes. Il utilise le module requests de python.
  • Bien relire et comprendre le TP1 sur les pages dynamiques (pour l'objectif secondaire numéro 3)
  • Pour stocker dans une liste liste_mdp les 1000 mots de passe présents dans le fichier extraitrockyou.txt, il faut utiliser le ligne suivante:

    liste_mdp = open("extraitrockyou.txt").read().splitlines()
    

    ⚠ Si vous avez l'erreur :

    FileNotFoundError: [Errno 2] No such file or directory: 'extraitrockyou.txt'
    

    c'est que votre code et le fichier extraitrockyou.txt ne sont pas dans le même répertoire.