get the ctf flag from this CYBERCOM{}

생성일: 2026년 8월 25일

답변에 사용된 모델 GPT-5.6 Thinking by Chat01

질문

de9e3930-a7e5-4e60-8a44-2a5fca4aa3a0.txt

get the ctf flag from this CYBERCOM{}

Python

python
from 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')

Python

python
d1=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 ')

Python

python
d2=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'")

Python

python
d3=''.join(chr(int(b,2)) for b in d2.split()) len(d3), d3[:300], d3[-50:] (140, 'SEZSR0dNWlRNSTREUVpMQ0dWU1RHTUxHR0VZVElNSlhNVlNER05CU0dFWURPT0pZTUZRV0dZSlJHTVpUU05SVkhBMlRFWUpVTVJTVElPTEZNRlFUTVpKV0dZWkRTT0JVTVlaR0lZST0=', 'RFWUpVTVJTVElPTEZNRlFUTVpKV0dZWkRTT0JVTVlaR0lZST0=')

Python

python
d4=base64.b64decode(d3).decode() len(d4), d4 (104, 'HFRGGMZTMI4DQZLCGVSTGMLGGEYTIMJXMVSDGNBSGEYDOOJYMFQWGYJRGMZTSNRVHA2TEYJUMRSTIOLFMFQTMZJWGYZDSOBUMYZGIYI=')

Python

python
d5=base64.b32decode(d4).decode() len(d5), repr(d5) (64, "'9bc33b88eb5e31f11417ed34210798aaca133965852a4de49eaa6e662984f2da'")

Python

python
raw = path.read_text() raw.count('\n'), raw[-200:], raw.splitlines()[-1] if len(raw.splitlines())>1 else None (1, 'zAgMzEgMzEgMzAgMzAgMjAgMzAgMzEgMzAgMzEgMzEgMzAgMzEgMzAgMjAgMzAgMzEgMzAgMzEgMzAgMzAgMzEgMzEgMjAgMzAgMzEgMzAgMzEgMzAgMzEgMzAgMzAgMjAgMzAgMzAgMzEgMzEgMzAgMzAgMzAgMzAgMjAgMzAgMzAgMzEgMzEgMzEgMzEgMzAgMzE=\n', None)

사고

Decoded layered Base64, binary, Base32, hex, and hash data

Worked for 21s

답변

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

사고

Investigated and decoded the five-layer clue

Worked for 9s

답변

Exactly — ..... is Morse code for 5, and it matches the file perfectly.

There are five decoding operations:

  1. Base64
  2. Hex / ASCII bytes
  3. Binary
  4. Base64
  5. Base32

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)

이 Q&A 공유하기