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

41 lines
1.0 KiB
Markdown

---
title: "Layers — Hex to Base64 Chain"
type: "writeup"
section: "writeups"
status: "published"
author: "asep"
tags: ["gemastik", "ctf", "warmup", "crypto"]
path: "writeups/gemastik-2026-warmup/ch12-layers.md"
created_at: "2026-08-21T07:25:48.559Z"
updated_at: "2026-08-21T07:25:48.559Z"
event: "GEMASTIK 2026 Warmup"
challenge: "Layers — Hex to Base64 Chain"
category: "crypto"
points: 500
difficulty: "easy"
flag: "GEMASTIK19{h3x_lQlu_b4s3_ch41n}"
---
# Layers (500 pts) — Encoding chain
**File:** `chall.txt` → `5230564e51564e55535573784f58746f4d33686662464673645639694e484d7a58324e6f4e44467566513d3d`
Dua lapis encoding berturut-turut: **Hex → bytes → Base64 → flag**:
```python
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}`