get the ctf flag from this CYBERCOM{}
Créé le : 25 août 2026
Répondu en utilisant GPT-5.6 Thinking par Chat01
Créé le : 25 août 2026
Répondu en utilisant GPT-5.6 Thinking par Chat01
get the ctf flag from this CYBERCOM{}
pythonfrom pathlib import Path import base64, re, binascii, codecs, json, string path = Path("/mnt/data/de9e3930-a7e5-4e60-8a44-2a5fca4aa3a0.txt") data = path.read_text().strip() len(data), data[:100] (5036, 'MzAgMzEgMzAgMzEgMzAgMzAgMzEgMzEgMjAgMzAgMzEgMzAgMzAgMzAgMzEgMzAgMzEgMjAgMzAgMzEgMzAgMzEgMzEgMzAgMzEg')
pythond1=base64.b64decode(data).decode() len(d1), d1[:300] (3776, '30 31 30 31 30 30 31 31 20 30 31 30 30 30 31 30 31 20 30 31 30 31 31 30 31 30 20 30 31 30 31 30 30 31 31 20 30 31 30 31 30 30 31 30 20 30 30 31 31 30 30 30 30 20 30 31 31 30 30 31 30 30 20 30 31 30 30 31 31 31 30 20 30 31 30 31 30 31 31 31 20 30 31 31 30 31 31 30 30 20 30 31 30 31 30 30 31 30 20 30 ')
pythond2=bytes.fromhex(d1).decode() len(d2), repr(d2[:300]) (1259, "'01010011 01000101 01011010 01010011 01010010 00110000 01100100 01001110 01010111 01101100 01010010 01001110 01010011 01010100 01010010 01000101 01010101 01010110 01110000 01001101 01010001 00110000 01100100 01010111 01010101 00110001 01010010 01001000 01010100 01010101 01111000 01001000 01010010 001'")
pythond3=''.join(chr(int(b,2)) for b in d2.split()) len(d3), d3[:300], d3[-50:] (140, 'SEZSR0dNWlRNSTREUVpMQ0dWU1RHTUxHR0VZVElNSlhNVlNER05CU0dFWURPT0pZTUZRV0dZSlJHTVpUU05SVkhBMlRFWUpVTVJTVElPTEZNRlFUTVpKV0dZWkRTT0JVTVlaR0lZST0=', 'RFWUpVTVJTVElPTEZNRlFUTVpKV0dZWkRTT0JVTVlaR0lZST0=')
pythond4=base64.b64decode(d3).decode() len(d4), d4 (104, 'HFRGGMZTMI4DQZLCGVSTGMLGGEYTIMJXMVSDGNBSGEYDOOJYMFQWGYJRGMZTSNRVHA2TEYJUMRSTIOLFMFQTMZJWGYZDSOBUMYZGIYI=')
pythond5=base64.b32decode(d4).decode() len(d5), repr(d5) (64, "'9bc33b88eb5e31f11417ed34210798aaca133965852a4de49eaa6e662984f2da'")
pythonraw = path.read_text() raw.count('\n'), raw[-200:], raw.splitlines()[-1] if len(raw.splitlines())>1 else None (1, 'zAgMzEgMzEgMzAgMzAgMjAgMzAgMzEgMzAgMzEgMzEgMzAgMzEgMzAgMjAgMzAgMzEgMzAgMzEgMzAgMzAgMzEgMzEgMjAgMzAgMzEgMzAgMzEgMzAgMzEgMzAgMzAgMjAgMzAgMzAgMzEgMzEgMzAgMzAgMzAgMzAgMjAgMzAgMzAgMzEgMzEgMzEgMzEgMzAgMzE=\n', None)
The decoded CTF flag is:
CYBERCOM{9bc33b88eb5e31f11417ed34210798aaca133965852a4de49eaa6e662984f2da}
The file unwraps as Base64 → hex → binary → Base64 → Base32 → final hex string. (de9e3930-a7e5-4e60-8a44-2a5fca4aa3a0.txt)
the challenge desription is ..... which decodes to 5
Exactly — ..... is Morse code for 5, and it matches the file perfectly.
There are five decoding operations:
After the fifth decode, the result is:
9bc33b88eb5e31f11417ed34210798aaca133965852a4de49eaa6e662984f2da
So the intended flag is:
CYBERCOM{9bc33b88eb5e31f11417ed34210798aaca133965852a4de49eaa6e662984f2da}
The CYBERCOM{} wrapper is just the required flag format, not a sixth decoding layer. (de9e3930-a7e5-4e60-8a44-2a5fca4aa3a0.txt)