Dev.to
7/12/2026

BronocCTF : Proper Pwning Writeup
Short summary
A detailed writeup of the 'Proper Pwning' challenge from BroncoCTF, covering a multi-gate binary exploitation chain using gets() buffer overflows. Each gate requires a different overflow technique: simple overwrite, value preservation, exact value match, and a final ret2win. The exploit crashes due to stack misalignment in modern glibc's system(), fixed by inserting a ret gadget before the win() address.
- •Four sequential gates each vulnerable to gets() buffer overflow with different constraints
- •Offsets derived from objdump disassembly, not source-level guessing
- •Stack alignment fix via extra ret gadget needed for modern glibc system() call
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



