get the ctf flag from this CYBERCOM{}
생성일: 2026년 8월 25일
답변에 사용된 모델 GPT-5.6 Thinking by Chat01
생성일: 2026년 8월 25일
답변에 사용된 모델 GPT-5.6 Thinking by 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)