Post

ECOWAS CTF 2026 — Abnormal Chain [Misc/100pts]

CTF : ECOWAS CTF 2026 · Catégorie : Misc · Difficulté : ⭐ (Easy) · Points : 100
← Retour à l’index du CTF


Description

The wise know that to move forward, you must sometimes retrace your steps.

Fichier cipher.txt :

RyZuUmhIOTBqa0ctZnE0Ry1FVmxHK3tNaUctTmIyR2NxKH1IRE5Wakcmd2I0Ry...

Analyse

Indice clé — “retrace your steps”

Le titre “Abnormal Chain” + “retrace your steps” = plusieurs encodages imbriqués (chain), et il faut inverser la chaîne à un moment (retracing = going backward).

Identifier les encodages un par un

Règle générale : Quand on voit un texte encodé, on regarde le charset :

  • Que des a-zA-Z0-9+/= → Base64
  • Que des 0-9a-f → Hexadécimal
  • Que des A-Z2-7= → Base32
  • Mix alphanum + !#$%... → Base85 ou Base91
  • Mix alphanum a-km-zA-HJ-NP-Z1-9 (pas de 0, l, I, O) → Base58

Script complet

import base64 data = open('cipher.txt', 'rb').read().strip() # Étape 1: Base64 step1 = base64.b64decode(data) # Étape 2: Base85 step2 = base64.b85decode(step1) # Étape 3: Hex step3 = bytes.fromhex(step2.decode()) # Étape 4: Base32 step4 = base64.b32decode(step3) # Étape 5: Reverse + Base64 s = step4.decode() reversed_s = s[::-1] padded = reversed_s + '=' * (-len(reversed_s) % 4) flag = base64.b64decode(padded) print(flag.decode())

Récapitulatif de la chaîne

cipher.txt ↓ Base64 decode ↓ Base85 decode ↓ Hex decode ↓ Base32 decode ↓ REVERSE la string ← "retrace your steps" ↓ Base64 decode FLAG: EcowasCTF{n3st3d_l4y3rs_0f_s4nk0f4_w1sd0m}

Flag

EcowasCTF{n3st3d_l4y3rs_0f_s4nk0f4_w1sd0m}

Ressources



← Retour à l’index du CTF

Cet article est sous licence CC BY 4.0 par t3chw1z4rd.