2 min read

[CTF GEMA] Short

CTF GEMA Groupe 2025

Niveau de Difficulté : Medium

Catégorie du Challenge : Reverse

Description :

it is too short!

Steps to Solve

Exécution du fichier

Local Image

On peut voir qu'il demande une clé et un texte. Si la réponse est incorrecte, il affiche "try harder". Maintenant, passons à l'analyse.


Analyse

Fonction principale

Local Image

On peut voir qu'il compare local_c8 et local_88. S'ils sont identiques, cela affiche "success".

Local Image

On remarque que local_88 contient une valeur hexadécimale, ce qui signifie que c'est le flag chiffré.

  • local_48 correspond à l'entrée utilisateur.
  • local_68 correspond à la clé.
  • lvr2 représente la longueur de la clé, qui doit être de 3 caractères.

Fonction de chiffrement

Local Image

Le chiffrement est réalisé en utilisant la clé et le texte d'entrée pour obtenir un texte chiffré.
Le problème ici est que nous ne connaissons pas la clé.

Cependant, la clé est courte (seulement 3 caractères) et nous savons que le flag contient "FLAG".

Nous écrivons donc un code pour effectuer une attaque par force brute afin de retrouver la clé et le flag.


Bruteforce

Local Image

Explication du code :

Le code teste toutes les combinaisons possibles de 3 caractères, puis tente de décoder la valeur hexadécimale avec chaque clé.
Si la sortie contient "FLAG", cela signifie que c'est la bonne clé.

Flag

FLAG{5h0r7_k3y_34zy}