Files
mcpedia/content/writeups/gemastik-2026-warmup/ch12-layers.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.0 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
Layers — Hex to Base64 Chain writeup writeups published asep
gemastik
ctf
warmup
crypto
writeups/gemastik-2026-warmup/ch12-layers.md 2026-08-21T07:25:48.559Z 2026-08-21T07:25:48.559Z GEMASTIK 2026 Warmup Layers — Hex to Base64 Chain crypto 500 easy GEMASTIK19{h3x_lQlu_b4s3_ch41n}

Layers (500 pts) — Encoding chain

File: chall.txt → 5230564e51564e55535573784f58746f4d33686662464673645639694e484d7a58324e6f4e44467566513d3d

Dua lapis encoding berturut-turut: Hex → bytes → Base64 → flag:

import base64

s = "5230564e51564e55535573784f58746f4d33686662464673645639694e484d7a58324e6f4e44467566513d3d"

# Layer 1: hex decode
b = bytes.fromhex(s)
# b = b'R0VNQVNUSUsxOXtoM3hfbFFsdV9iNHMzX2NoNDFufQ=='

# Layer 2: base64 decode
flag = base64.b64decode(b).decode()
print(flag)
# GEMASTIK19{h3x_lQlu_b4s3_ch41n}

Flag

GEMASTIK19{h3x_lQlu_b4s3_ch41n}