Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mélange d'attaque brute et dictionnaire

python

27 décembre 2022 à 15:45:17

Je dois créer une fonction qui permet de trouver un mot de passe par attaque brute et par attaque de dictionnaire. C'est-à-dire que le code doit permettre à l'aide une liste de mot d'un dictionnaire trouver d'abord les mots que contient le mot de passe. Puis doit craquer le reste du mot de passe par force brute donc en comparant un par un les lettres du mot de passe et l'alphabet.
Pour préciser, j'ai déjà une fonction force_brute qui trouve le mot de passe en comparant les lettres un par un et une fonction dictionnaire qui compare les mots du dictionnaires avec le mot de passe.

J'ai déjà une fonction qui affiche une liste des mots trouvé dans le mot de passe et l'index de la première lettre dans le mot de passe.

def forceBrute_dict(mdp):
    motif=''
    texte=mdp
    reponse=[] #comporte les mots du dict et leur emplacement
    t=len(texte)
    dic=open('dictionnairev2.txt',mode='r')
    for mot in dic:
        motif=mot.strip()
        for i in range(0, t-len(motif)+1): 
            if texte[i : i + len(motif)] == motif:
                if(len(motif)>3):
                    reponse.append([i,motif,len(motif)]) #ajoute l'index de début et le mot trouvé dans la liste
    print(reponse)

Par exemple si le mot de passe est pomme1234pomme.

forceBrute_dict(pomme1234pomme)
[[0, 'pomme', 5], [9, 'pomme', 5]]

A partir d'ici je reste bloqué. Je ne sais pas comment je pourrais stocker le mot de passe trouvé au fur et à mesure des attaques.

Merci de bien m'aider pour la suite.



  • Partager sur Facebook
  • Partager sur Twitter
27 décembre 2022 à 17:11:38

D'abord, tu n'as pas besoin de placer la longueur de la chaîne dans ta liste.
Ensuite, je ne comprend pas ce que tu veux faire avec ton dictionnaire.
Sais-tu comment générer un dictionnaire?

Les entrées d'un dictionnaire sont formés d'une clé et d'une valeur. Qu'est-ce que tu donneras comme valeur?

-
Edité par PierrotLeFou 27 décembre 2022 à 17:15:08

  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

27 décembre 2022 à 17:53:34

Bonjour,

C'est dictionnaire en tant qu'objet Python ou bien dictionnaire en tant que livre qui est une liste de mot par ordre alphabétique ?

Que contient ton fichier .txt exactement ?

-
Edité par Phil_1857 27 décembre 2022 à 17:54:51

  • Partager sur Facebook
  • Partager sur Twitter
27 décembre 2022 à 20:26:38

Phil_1857 a écrit:

Bonjour,

C'est dictionnaire en tant qu'objet Python ou bien dictionnaire en tant que livre qui est une liste de mot par ordre alphabétique ?

Que contient ton fichier .txt exactement ?

-
Edité par Phil_1857 il y a environ 1 heure


C'est un dictionnaire en tant que livre. le dictionnaire.txt contient des mots d'un dictionnaire de A à Z.

Ce que je veux c'est de trouver les mots du dictionnaire que contient le mot de passe, et donc de faire une attaque par dictionnaire puis compléter en faisant une attaque brute, c'est à dire , de trouver les lettres et chiffres en comparant un par un. 

En gros le programme doit faire une mélange d'attaque brute et d'attaque par dictionnaire sur le mot de passe saisi. j'ai déjà fait les fonctions pour l'attaques brutes et pour l'attaque par dictionnaire.

-
Edité par m&m'ss 27 décembre 2022 à 20:34:23

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
27 décembre 2022 à 20:47:36

Bonjour !

Drôle d'exercices... M'enfin, imaginons que le site/logiciel à craquer te renvoie les caractères correctes, ce n'est pas très compliqué de faire du force brute ensuite sur les caractères non correctes. Suffit d'itérer et de voir si c'est bon ou pas...
  • Partager sur Facebook
  • Partager sur Twitter
27 décembre 2022 à 22:32:35

Quelque chose du genre "elevateur" vs "elevation" ?
Et si les longueurs ne sont pas les mêmes comme "eleve" vs "elever"
J'ai quitté l'école après la lettre "e". :)
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

29 septembre 2024 à 19:30:08 - Message modéré pour le motif suivant : Merci d’utiliser le bouton code pour insérer un code sur le forum


29 septembre 2024 à 19:59:39

Merci chatGPT :D
  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

29 septembre 2024 à 20:07:01

@Préno.Facultatif Bonsoir, merci de ne pas squatter le sujet des autres, créer votre propre sujet dans le respect des règles du forum à savoir qu'un message commence par des règles de politesses (Un bonjour ou des salutations à la communauté et se termine par des remerciements par avances pour les futures réponses), la description de votre problème et le code que vous avez écrit inséré sur le forum à l'aide de l'outil d'intégration de code soit le bouton code </>

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Liens conseillés

Je ferme ici.

  • Partager sur Facebook
  • Partager sur Twitter