Crypt my loop

Catégorie: Crypto Difficulté: - Flag: FLAG{md5_really_sucks}

Challenge

Description


Un flag a été marabouté ! Retrouvez le.

Solution

En cherchant quelques lignes du fichier sur internet, on comprend qu'il contient une liste de hash MD5.

Les banques de données de hash en ligne montrent qu'il s'agit de hash d'un seul caractère à chaque fois.

Il suffit alors de se construire un dictionnaire avec les hash de tous les caractères possibles puis de remplacer ceux du fichier par leur correspondance.

from Crypto.Hash import MD5
from string import printable

# Récupération des hash dans le fichier
data = open('./flag_maraboute.txt').read().split('\n')

# Création du dictionnaire de hash
hashes = {MD5.new(c.encode()).hexdigest(): c for c in printable}

# Remplacement des hash par la lettre correspondante
flag = ''.join([hashes[line] for line in data])

print(flag)
iletaitunefoisunflagFLAG{md5_really_sucks}

Dernière mise à jour

Cet article vous a-t-il été utile ?