Gravitational plate of three masses and a slashed discABC0Static engraved plate. Three-dimensional view is unavailable or reduced motion is requested.

← back to fieldarticle

articleSep 18, 2020

CSAW 2019 small_boi — SROP challenge theme

High-level note on CSAW 2019 small_boi: a pwn challenge centered on Linux sigreturn / SROP concepts. Solve steps and PoC omitted.

CSAW 2019 small_boi (high-level)

What it is. A CSAW CTF 2019 binary exploitation challenge nicknamed small_boi. The archived writeup focuses on Sigreturn Oriented Programming (SROP) on Linux.

Vulnerability / technique class (plain language).

  • On Linux, delivering a signal causes the kernel to save register state on the user stack and later restore it via rt_sigreturn
  • If a program lets an attacker control that restored frame (and reach a sigreturn path), register state at resume can be attacker-chosen — the idea behind SROP
  • The challenge binary is framed around a small buffer, a sigreturn-oriented gadget, and classic missing stack protections typical of teaching pwnables

Impact in the CTF setting. Successful exploitation in the challenge environment yields interactive control of the process (flag recovery in the contest). Not a product CVE writeup.

Lessons / what to remember.

  • Understand why signal-frame restore is sensitive when user memory is writable and return control is hijacked
  • Modern mitigations (ASLR, non-executable stacks, CFI, hardened kernels) change the practicality of textbook SROP; treat lab binaries as teaching aids
  • Prefer memory-safe languages or hardened build flags for real services

Solve steps and PoC omitted.

related

  1. Sep 18, 2020/articleCSAW 2019 traveller — high-level notes
  2. Jul 10, 2026/articleR3CTF 2026 P1gROXY — HTML escape buffer sizing (high-level)
  3. Sep 18, 2020/articleCSAW 2019 popping_caps — High-level Heap Notes

graphfeed