Chicken Dinner

Brute-force stack canary byte-by-byte via fork’s PID oracle, leak libc with puts, then ORW ROP chain.

June 16, 2026 · 1 min · 121 words · Th3B0yWh0L1v3d

Coming Together

Two’s complement INT_MIN negation overflow bypasses an absolute-value check to trigger the win condition.

June 16, 2026 · 1 min · 78 words · Th3B0yWh0L1v3d

Mania

Use-after-free on a tcache chunk to overwrite a function pointer and call win().

June 16, 2026 · 1 min · 118 words · Th3B0yWh0L1v3d

New to the Format

Blind format-string exploit with ASLR off: leak stack address then use %n + call rax to redirect execution.

June 16, 2026 · 1 min · 133 words · Th3B0yWh0L1v3d

Bandaids Help me Heal — DalCTF 2026

A ‘pwn’ binary with no input is really a static-reversing puzzle: a fake usleep loop would take days and a fake integrity check always passes, so reading the constants and undoing a single-byte XOR yields the flag without ever waiting.

June 7, 2026 · 9 min · 1916 words · Th3B0yWh0L1v3d

Password Vault — DalCTF 2026

A password-manager heap challenge: free() without nulling the pointer gives a use-after-free, tcache hands the freed Login chunk back via set_password, and overwriting the struct’s leading function pointer redirects an indirect call to the leftover read_master_key win function.

June 7, 2026 · 8 min · 1636 words · Th3B0yWh0L1v3d

Slot Machine — DalCTF 2026

A textbook ret2win: gets() into a 32-byte stack buffer with no canary and no PIE lets us overwrite the saved return address with jackpot(); the only twist is closing stdin to force the menu loop’s EOF break so the corrupted return fires.

June 7, 2026 · 7 min · 1447 words · Th3B0yWh0L1v3d

Recipe for Disaster — GPN CTF 2026

A food-ordering binary reads chef notes with gets() into a buffer sitting in front of an int price field, letting an overflow set a negative price that makes the order total negative and prints /flag.

June 5, 2026 · 2 min · 365 words · Th3B0yWh0L1v3d