[๐ŸŒฑ ์ƒˆ์‹น] ๋ฐ”์ดํŠธ Caesar๋ฅผ 255๊ฐœ ํ‚ค๋กœ ๋šซ๊ธฐ โ€” DreamHack ByteCaesar ํ’€์ด

2026-07-13ยท1๋ถ„ ์ฝ๊ธฐยท

[๐ŸŒฑ ์ƒˆ์‹น] ๋ฐ”์ดํŠธ Caesar๋ฅผ 255๊ฐœ ํ‚ค๋กœ ๋šซ๊ธฐ โ€” DreamHack ByteCaesar ํ’€์ด

secret ๋ฌธ์žฅ์„ ๋ฐ”์ดํŠธ ๋‹จ์œ„ Caesar๋กœ ์•”ํ˜ธํ™”ํ•œ ๊ฒฐ๊ณผ๋งŒ ์ฃผ์–ด์ง„๋‹ค. ํ‚ค๋Š” ๋žœ๋ค์ด์ง€๋งŒ 1~255 ์‚ฌ์ด ํ•œ ๋ฐ”์ดํŠธ๋ผ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ 255๊ฐœ๋ฟ์ด๋‹ค. ๊ฐ ํ‚ค๋กœ ๋ณตํ˜ธํ•ด ๊ฒฐ๊ณผ๊ฐ€ ์ „๋ถ€ ์ธ์‡„ ๊ฐ€๋Šฅํ•œ ASCII์ด๊ณ  DH๊ฐ€ ๋“ค์–ด๊ฐ„ ํ‚ค๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค. ํ•จ๊ป˜ ์ค€ secret ํŒŒ์ผ์€ ๊ฐ€์งœ๋ผ, output.txt์˜ ์•”ํ˜ธ๋ฌธ์„ ์ „์ˆ˜์กฐ์‚ฌํ•ด ์ง„์งœ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊บผ๋ƒˆ๋‹ค.

๋ฌธ์ œ: DreamHack โ€” ByteCaesar ๋ถ„๋ฅ˜: Crypto ๋‚œ์ด๋„: ๐ŸŒฑ ์ƒˆ์‹น FLAG: DH{37bdfc823523deca663c737a6c6e24fc561da4dd515f097cf8a48d417a3fb4ca}

prob.py, secret, output.txt ์„ธ ํŒŒ์ผ์ด ์ฃผ์–ด์ง„๋‹ค. prob.py๋Š” ์–ด๋–ค ๋ฌธ์žฅ์„ ๋ฐ”์ดํŠธ ๋‹จ์œ„ Caesar ์•”ํ˜ธ๋กœ ๋ฐ€์–ด output.txt์— hex๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ํ‚ค๋Š” ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ๋žœ๋ค์œผ๋กœ ๋ฝ‘ํžˆ์ง€๋งŒ, 1~255 ์‚ฌ์ด์˜ ํ•œ ๋ฐ”์ดํŠธ๋ผ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๊ณ ์ž‘ 255๊ฐœ๋‹ค. ์ „์ˆ˜์กฐ์‚ฌ๋กœ ๊ธˆ๋ฐฉ ๋šซ๋ฆฐ๋‹ค.

ByteCaesar โ€” ๋ฐ”์ดํŠธ Caesar๋ฅผ ํ‚ค 255๊ฐœ ์ „์ˆ˜์กฐ์‚ฌ๋กœ ํ‘ผ๋‹ค
ByteCaesar โ€” ๋ฐ”์ดํŠธ Caesar๋ฅผ ํ‚ค 255๊ฐœ ์ „์ˆ˜์กฐ์‚ฌ๋กœ ํ‘ผ๋‹ค

๋ฌธ์ œ ๊ฐœ์š”

ํ•ญ๋ชฉ๋‚ด์šฉ
๋ฌธ์ œ๋ช…ByteCaesar
๋‚œ์ด๋„๐ŸŒฑ ์ƒˆ์‹น
๋ถ„๋ฅ˜Crypto
์ œ๊ณต ํŒŒ์ผprob.py, secret(๊ฐ€์งœ), output.txt(์•”ํ˜ธ๋ฌธ)
๋ชฉํ‘œ๋ฐ”์ดํŠธ Caesar ์•”ํ˜ธ๋ฌธ ๋ณตํ˜ธ
ํ•ต์‹ฌ ๊ธฐ๋ฒ•ํ‚ค ๊ณต๊ฐ„(255๊ฐœ) ์ „์ˆ˜์กฐ์‚ฌ

ํ‚ค๊ฐ€ ๋žœ๋ค์ด๋ผ๋„ ํ•œ ๋ฐ”์ดํŠธ๋ฟ์ด๋ผ ๋ธŒ๋ฃจํŠธํฌ์Šค๊ฐ€ ์ฆ‰์‹œ ํ†ตํ•œ๋‹ค.



๋ฐฐ๊ฒฝ โ€” ๋ฐ”์ดํŠธ ๋‹จ์œ„ Caesar cipher

Caesar cipher๋Š” ๊ธ€์ž๋ฅผ ์ผ์ • ์นธ์ˆ˜๋งŒํผ ๋ฏธ๋Š” ์น˜ํ™˜ ์•”ํ˜ธ๋‹ค. ๋ณดํ†ต์€ ์•ŒํŒŒ๋ฒณ 26์ž ์•ˆ์—์„œ ๋ฐ€์ง€๋งŒ, ์ด ๋ฌธ์ œ๋Š” ๋ฐ”์ดํŠธ ์ „์ฒด(0~255) ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋ฏผ๋‹ค.

  • ์•”ํ˜ธํ™”: enc[i] = (secret[i] + key) % 256
  • ๋ณตํ˜ธํ™”: dec[i] = (enc[i] - key) % 256

์—ฌ๊ธฐ์„œ ํ•ต์‹ฌ์€ ํ‚ค๊ฐ€ ํ•œ ๋ฐ”์ดํŠธ๋ผ๋Š” ์ ์ด๋‹ค. ์•ŒํŒŒ๋ฒณ Caesar๊ฐ€ ํ‚ค 25๊ฐ€์ง€๋ฟ์ด๋ผ ์‰ฝ๊ฒŒ ๋šซ๋ฆฌ๋“ฏ, ๋ฐ”์ดํŠธ Caesar๋„ ํ‚ค๊ฐ€ 255๊ฐ€์ง€(1~255)๋ฟ์ด๋ผ ์ „๋ถ€ ๋Œ€์ž…ํ•ด ๋ณด๋ฉด ๋œ๋‹ค. ๋žœ๋ค์œผ๋กœ ๋ฝ‘์•˜๋‹ค๋Š” ์‚ฌ์‹ค์€ ์•„๋ฌด ๋ฐฉ์–ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค โ€” ์–ด์ฐจํ”ผ ๋‹ค ์„ธ์–ด ๋ณผ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ.

์ „์ˆ˜์กฐ์‚ฌ์—์„œ "๋งž๋Š” ํ‚ค"๋ฅผ ์–ด๋–ป๊ฒŒ ์•Œ์•„๋ณผ๊นŒ? ์›๋ฌธ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์žฅ(ASCII)์ด๋ผ๋Š” ๊ฑธ ์ด์šฉํ•œ๋‹ค. ์ž˜๋ชป๋œ ํ‚ค๋กœ ๋ณตํ˜ธํ•˜๋ฉด ์ œ์–ด๋ฌธ์žยท๊นจ์ง„ ๋ฐ”์ดํŠธ๊ฐ€ ์„ž์—ฌ ๋‚˜์˜ค๊ณ , ๋งž๋Š” ํ‚ค๋กœ๋งŒ ์ „๋ถ€ ์ธ์‡„ ๊ฐ€๋Šฅํ•œ ASCII๊ฐ€ ๋‚˜์˜จ๋‹ค. ์—ฌ๊ธฐ์— "ํ”Œ๋ž˜๊ทธ ํ˜•์‹ DH{๊ฐ€ ํฌํ•จ๋˜๋Š”๊ฐ€"๊นŒ์ง€ ์กฐ๊ฑด์œผ๋กœ ๊ฑธ๋ฉด ์ •๋‹ต ํ‚ค๊ฐ€ ์œ ์ผํ•˜๊ฒŒ ๊ฑธ๋ฆฐ๋‹ค.


๐Ÿ”ฌ ์ •์ฐฐ โ€” ์†Œ์Šค์™€ ๊ฐ€์งœ secret

prob.py๋Š” ์งง๋‹ค. ๋žœ๋ค ํ‚ค๋กœ secret ํŒŒ์ผ์„ ๋ฐ”์ดํŠธ Caesar ์•”ํ˜ธํ™”ํ•ด hex๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

class Caesar:
    def __init__(self, key):
        assert isinstance(key, int) and 1 <= key <= 255
        self._key = key
    def encrypt(self, msg):
        return bytes([(b + self._key) % 256 for b in msg])
 
key = random.randint(1, 255)          # ํ‚ค๋Š” 1~255 ๋žœ๋ค ํ•œ ๋ฐ”์ดํŠธ
secret_enc = Caesar(key).encrypt(open("secret","rb").read())
print(f"my encrypted sentence > {secret_enc.hex()}")
prob.py โ€” Caesar ํด๋ž˜์Šค์˜ ๋ฐ”์ดํŠธ (b+key)%256 ์•”ํ˜ธํ™”, main์—์„œ ๋žœ๋ค ํ‚ค๋กœ secret ์•”ํ˜ธํ™” ํ›„ hex ์ถœ๋ ฅ
prob.py โ€” Caesar ํด๋ž˜์Šค์˜ ๋ฐ”์ดํŠธ (b+key)%256 ์•”ํ˜ธํ™”, main์—์„œ ๋žœ๋ค ํ‚ค๋กœ secret ์•”ํ˜ธํ™” ํ›„ hex ์ถœ๋ ฅ

์ฃผ์˜ํ•  ํ•จ์ •์ด ํ•˜๋‚˜ ์žˆ๋‹ค. ํ•จ๊ป˜ ์ฃผ์–ด์ง„ secret ํŒŒ์ผ์„ ์—ด์–ด ๋ณด๋ฉด ์ง„์งœ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ€์งœ๋‹ค.

์ œ๊ณต๋œ secret ํŒŒ์ผ์€ This is not real flag ๊ฐ€์งœ ๋ฌธ์žฅ, ์ง„์งœ ์•”ํ˜ธ๋ฌธ์€ output.txt์—
์ œ๊ณต๋œ secret ํŒŒ์ผ์€ This is not real flag ๊ฐ€์งœ ๋ฌธ์žฅ, ์ง„์งœ ์•”ํ˜ธ๋ฌธ์€ output.txt์—

secret ํŒŒ์ผ ๋‚ด์šฉ์€ "This is not real flag, DH{FAKE_FLAG} :>" โ€” ๋Œ€๋†“๊ณ  ๊ฐ€์งœ๋‹ค. ์ง„์งœ ์•”ํ˜ธ๋ฌธ์€ output.txt์˜ hex๋ฟ์ด๋‹ˆ, ๊ทธ๊ฑธ ๋ณตํ˜ธํ•ด์•ผ ํ•œ๋‹ค.


๐Ÿ’ฃ ํ•ต์‹ฌ โ€” 255๊ฐœ ํ‚ค๋ฅผ ์ „๋ถ€ ๋Œ€์ž…

output.txt์˜ ์•”ํ˜ธ๋ฌธ์„ 1๋ถ€ํ„ฐ 255๊นŒ์ง€ ๋ชจ๋“  ํ‚ค๋กœ ๋ณตํ˜ธํ•˜๋ฉด์„œ, ๊ฒฐ๊ณผ๊ฐ€ ์ „๋ถ€ ์ธ์‡„ ๊ฐ€๋Šฅํ•˜๊ณ  DH{๋ฅผ ํฌํ•จํ•˜๋Š” ํ‚ค๋ฅผ ์ฐพ๋Š”๋‹ค.

ํ‚ค๋ณ„ ๋ณตํ˜ธ ์‹œ์—ฐ โ€” key=177์€ "Uif tvo..."๋กœ ํ•œ ์นธ ์–ด๊ธ‹๋‚˜๊ณ , key=178์ด "The sun slowly..."๋กœ ์ •๋‹ต
ํ‚ค๋ณ„ ๋ณตํ˜ธ ์‹œ์—ฐ โ€” key=177์€ "Uif tvo..."๋กœ ํ•œ ์นธ ์–ด๊ธ‹๋‚˜๊ณ , key=178์ด "The sun slowly..."๋กœ ์ •๋‹ต

ํ‚ค๊ฐ€ ํ•˜๋‚˜๋งŒ ์–ด๊ธ‹๋‚˜๋„ ๊ฒฐ๊ณผ๊ฐ€ ํ™• ๋‹ฌ๋ผ์ง„๋‹ค. key=177์ด๋ฉด "Uif tvoโ€ฆ"์ฒ˜๋Ÿผ ํ•œ ์นธ์”ฉ ๋ฐ€๋ฆฐ ๊ธ€์ž๊ฐ€ ๋‚˜์˜ค๊ณ , key=178์—์„œ ๋น„๋กœ์†Œ "The sun slowly sets over the calmโ€ฆ"์ด๋ผ๋Š” ์˜จ์ „ํ•œ ์˜์–ด ๋ฌธ์žฅ์ด ๋‚˜์˜จ๋‹ค. ์ •๋‹ต ํ‚ค๋Š” 178์ด๋‹ค.



๐Ÿš€ Full Exploit

์ „์ˆ˜์กฐ์‚ฌ๋กœ ํ‚ค๋ฅผ ์ฐพ์•„ ๋ณตํ˜ธํ•˜๊ณ , ๋ฌธ์žฅ ์•ˆ์—์„œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ •๊ทœ์‹์œผ๋กœ ๋ฝ‘๋Š”๋‹ค.

import re
 
line = [l for l in open("output.txt") if "encrypted sentence >" in l][0]
enc = bytes.fromhex(line.split("> ")[1].strip())
 
for key in range(1, 256):
    dec = bytes((b - key) % 256 for b in enc)
    if b"DH{" in dec and all(32 <= c < 127 for c in dec):
        print("key =", key)
        print(re.search(rb"DH\{[^}]+\}", dec).group(0).decode())
        break
solve.py ์‹คํ–‰ โ€” key=178๋กœ ๋ณตํ˜ธํ•œ ๊ธด ์˜๋ฌธ ๋ฌธ์žฅ๊ณผ ๊ทธ ๋์—์„œ ์ถ”์ถœํ•œ ํ”Œ๋ž˜๊ทธ
solve.py ์‹คํ–‰ โ€” key=178๋กœ ๋ณตํ˜ธํ•œ ๊ธด ์˜๋ฌธ ๋ฌธ์žฅ๊ณผ ๊ทธ ๋์—์„œ ์ถ”์ถœํ•œ ํ”Œ๋ž˜๊ทธ

key=178๋กœ ๋ณตํ˜ธํ•˜๋ฉด ๋…ธ์„ ์ง€๋Š” ๋ฐ”๋‹ค๋ฅผ ๋ฌ˜์‚ฌํ•œ ๊ธด ๋ฌธ๋‹จ์ด ๋‚˜์˜ค๊ณ , ๊ทธ ๋งˆ์ง€๋ง‰ ๋ฌธ์žฅ "โ€ฆsleeping with the flag, DH{โ€ฆ}"์— ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋ฐ•ํ˜€ ์žˆ๋‹ค.

key = 178
DH{37bdfc823523deca663c737a6c6e24fc561da4dd515f097cf8a48d417a3fb4ca}


๐Ÿ“ ๊ฒฐ๋ก 

ํ‚ค ๊ณต๊ฐ„์ด ์ž‘์œผ๋ฉด ๋žœ๋ค๋„ ์†Œ์šฉ์—†๋‹ค.

์ด ๋ฌธ์ œ์˜ ํ‚ค๋Š” ๋งค๋ฒˆ ๋žœ๋ค์œผ๋กœ ๋ฝ‘ํžˆ์ง€๋งŒ 1~255 ์ค‘ ํ•˜๋‚˜๋ผ, 255๋ฒˆ๋งŒ ์‹œ๋„ํ•˜๋ฉด ๋ฐ˜๋“œ์‹œ ๊ฑธ๋ฆฐ๋‹ค. ์•”ํ˜ธ์˜ ์•ˆ์ „์„ฑ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žกํ•จ์ด ์•„๋‹ˆ๋ผ ํ‚ค ๊ณต๊ฐ„์˜ ํฌ๊ธฐ์—์„œ ๋‚˜์˜จ๋‹ค. ์•„๋ฌด๋ฆฌ ๊ทธ๋Ÿด๋“ฏํ•œ ์•”ํ˜ธ๋ผ๋„ ํ‚ค๊ฐ€ ๋ช‡๋ฐฑ ๊ฐ€์ง€๋ฟ์ด๋ฉด ์ „์ˆ˜์กฐ์‚ฌ ์•ž์— ๋ฌด๋„ˆ์ง„๋‹ค. ์‹ค์ „์—์„œ ํ‚คยทPINยทํ† ํฐ์„ ๋‹ค๋ฃฐ ๋•Œ "๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ๊ฐ€"๋ฅผ ๋จผ์ € ๋”ฐ์ง€๋Š” ์Šต๊ด€์ด ์ค‘์š”ํ•˜๋‹ค.

๋ณตํ˜ธ์˜ ์ •๋‹ต์€ ํ‰๋ฌธ์˜ ํ˜•ํƒœ๋กœ ํŒ๋ณ„ํ•œ๋‹ค.

์ „์ˆ˜์กฐ์‚ฌ์—์„œ ๋งž๋Š” ํ‚ค๋ฅผ ์ž๋™์œผ๋กœ ๊ณจ๋ผ๋‚ธ ๊ธฐ์ค€์€ "๊ฒฐ๊ณผ๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ASCII์ด๊ณ  ํ”Œ๋ž˜๊ทธ ํ˜•์‹์„ ํฌํ•จํ•˜๋Š”๊ฐ€"์˜€๋‹ค. ์›๋ฌธ์ด ์–ด๋–ค ํ˜•ํƒœ(์˜์–ด ๋ฌธ์žฅยทํŠน์ • ๋งค์ง๋ฐ”์ดํŠธยทํ”Œ๋ž˜๊ทธ ์ ‘๋‘์‚ฌ)์ธ์ง€ ์•Œ๋ฉด, ์ˆ˜๋ฐฑ~์ˆ˜๋งŒ ๊ฐœ ํ›„๋ณด ์ค‘์—์„œ ์ •๋‹ต์„ ๊ธฐ๊ณ„์ ์œผ๋กœ ๊ฑธ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋ธŒ๋ฃจํŠธํฌ์Šค๋Š” "๋‹ค ํ•ด๋ณด๊ธฐ"๊ฐ€ ์•„๋‹ˆ๋ผ "๋‹ค ํ•ด๋ณด๋˜ ์ •๋‹ต์„ ์•Œ์•„๋ณด๋Š” ๊ธฐ์ค€์„ ์„ธ์šฐ๊ธฐ"๊ฐ€ ํ•ต์‹ฌ์ด๋‹ค.

์ด ๊ธ€์ด ๋„์›€์ด ๋๋‚˜์š”?

Comments

๋Œ“๊ธ€

0๊ฐœ

๋Œ“๊ธ€์„ ๋‚จ๊ธฐ๋ ค๋ฉด ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ด์š”. (๋„ค์ด๋ฒ„ ยท ๊ตฌ๊ธ€ ๊ณ„์ •)

๋Œ“๊ธ€ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘โ€ฆ

Related

๊ด€๋ จ ๊ธ€

3๊ฐœ
[๐Ÿฅ‰ Bronze 4] ๋‹จ์ผ ๋ฐ”์ดํŠธ XOR โ€” 256๊ฐœ ํ‚ค ์ „์ˆ˜ ๋Œ€์ž…์œผ๋กœ ๋šซ๊ธฐ (DreamHack SingleByteXor ํ’€์ด)
blog

[๐Ÿฅ‰ Bronze 4] ๋‹จ์ผ ๋ฐ”์ดํŠธ XOR โ€” 256๊ฐœ ํ‚ค ์ „์ˆ˜ ๋Œ€์ž…์œผ๋กœ ๋šซ๊ธฐ (DreamHack SingleByteXor ํ’€์ด)

DyingMessage ํŒŒ์ผ์— ๋‹ด๊ธด 23๋ฐ”์ดํŠธ hex ์•”ํ˜ธ๋ฌธ. ๋‹จ์ผ ๋ฐ”์ดํŠธ XOR ์ด๋ผ ํ‚ค ํ›„๋ณด๋Š” 256๊ฐœ๋ฟ์ด๋‹ค. ํ”Œ๋ž˜๊ทธ๊ฐ€ DH{ ๋กœ ์‹œ์ž‘ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค(known-plaintext)๋กœ ํ‚ค๋ฅผ ํ•œ ๋ฒˆ์— ๋ณต์›ํ•˜๊ฑฐ๋‚˜, 256๊ฐœ๋ฅผ ์ „์ˆ˜ ๋Œ€์ž…ํ•ด ํ”„๋ฆฐํ„ฐ๋ธ”ํ•˜๊ฒŒ ํ’€๋ฆฌ๋Š” ์œ ์ผํ•œ ํ‚ค(0x10)๋ฅผ ์ฐพ์œผ๋ฉด ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋‚˜์˜จ๋‹ค.
#dreamhack#ctf#crypto+5
2026-07-08#dreamhack +4
[๐Ÿฅ‰ Bronze 1] assert ํ•œ ์ค„์ด MISTY1 ์„ 20๋น„ํŠธ๋กœ โ€” DreamHack ๋”ธ๊น ํ’€์ด
blog

[๐Ÿฅ‰ Bronze 1] assert ํ•œ ์ค„์ด MISTY1 ์„ 20๋น„ํŠธ๋กœ โ€” DreamHack ๋”ธ๊น ํ’€์ด

RFC 2994 ์ˆœ์ • MISTY1 ๊ตฌํ˜„์— assert ํ•œ ์ค„์ด ์–นํ˜€ ์žˆ๋‹ค. bytes ๋น„๊ต๊ฐ€ ์‚ฌ์ „์‹์ด๋ผ 128๋น„ํŠธ ํ‚ค๊ฐ€ 2^20 ์œผ๋กœ ์ž˜๋ฆฌ๊ณ , ๊ทธ 100๋งŒ ๊ฐœ๋ฅผ ์ „์ˆ˜ ๋ณตํ˜ธํ•˜๋ฉด DH{...} ํ˜•์‹ ํ‰๋ฌธ์ด ๋”ฑ ํ•˜๋‚˜ ๋‚จ๋Š”๋‹ค. RFC ์›๋ฌธ๊ณผ์˜ ๊ธฐ๊ณ„ ๋Œ€์กฐ, ์‹œํ—˜๋ฒกํ„ฐ ์žฌํ˜„, C ๋…๋ฆฝ ๊ตฌํ˜„ ๊ต์ฐจ๊ฒ€์ฆ๊นŒ์ง€.
#dreamhack#ctf#crypto+5
2026-08-20#dreamhack +4
[๐Ÿฅ‰ Bronze 2] ์ฐข์–ด์ง„ ์ข…์ด 2024์žฅ์—์„œ ์นด์ด์‚ฌ๋ฅด ์กฐ๊ฐ ๋งž์ถ”๊ธฐ โ€” DreamHack ๋ˆ„๊ฐ€ ์นด์ด์‚ฌ๋ฅด๋ฅผ ํ™”๋‚˜๊ฒŒ ํ–ˆ์„๊นŒ? ํ’€์ด
blog

[๐Ÿฅ‰ Bronze 2] ์ฐข์–ด์ง„ ์ข…์ด 2024์žฅ์—์„œ ์นด์ด์‚ฌ๋ฅด ์กฐ๊ฐ ๋งž์ถ”๊ธฐ โ€” DreamHack ๋ˆ„๊ฐ€ ์นด์ด์‚ฌ๋ฅด๋ฅผ ํ™”๋‚˜๊ฒŒ ํ–ˆ์„๊นŒ? ํ’€์ด

ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋“  ์ข…์ด๋ฅผ ์ฐข์–ด 2024์žฅ์œผ๋กœ ํฉ๋ฟŒ๋ฆฐ ์นด์ด์‚ฌ๋ฅด ๋ฌธ์ œ. ๋Œ€๋ถ€๋ถ„์€ ๊ธฐํ˜ธ ๋ฏธ๋ผ์ด๊ณ , ์ปค์Šคํ…€ ์•ŒํŒŒ๋ฒณ์œผ๋กœ๋งŒ ์ด๋ค„์ง„ ์—ฌ๋Ÿ ์กฐ๊ฐ์ด ์ง„์งœ๋‹ค. ์ •ํ•ด์ง„ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์‹œํ”„ํŠธ 11๋งŒํผ ๋ณตํ˜ธํ•œ ๋’ค ์–ด์ˆœ์— ๋งž๊ฒŒ ์กฐ๋ฆฝํ•˜๋ฉด ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋œ๋‹ค. ํ”Œ๋ž˜๊ทธ ํ˜•์‹์ด ํ”ํ•œ DH๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ํ•จ์ •๋„ ์žˆ์—ˆ๋‹ค.
#dreamhack#ctf#crypto+2
2026-07-14#dreamhack +4