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.