CTF Write-Up

entièrement en français et réalisé par ThaySan.

View on GitHub

[Crypto] Crypt My Loop - 25pts

flag_maraboute.txt

title: Crypt My Loop

category: Crypto

difficulty: -

point: 25

author: -

description:

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

Some magic on the flag ! Fint it.

Auteur : K_lfa (BZHack / ESDAcademy)

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}

FLAG : FLAG{md5_really_sucks}