Vortex6
Vortex Level 6 — generic binary exploitation where you must disassemble the program to find the hole.
Table of Contents
Source: This content is aggregated from overthewire (MIT). Visit the original repository for the latest version.
Generic Binary Exploitation
You must disassemble this level’s exploitable application in order to find the hole.
Reading Material
- Reconstructing Binaries to C For Beginners
- Reverse Engineering - Functions… functions! functions!? sheesh
Study guide
Level map: logged in as vortex6, obtain access to vortex7.
What this level teaches
Reverse engineering a program to discover a vulnerability without any description.
Key ideas
- No hints on purpose. The page says only that you must disassemble the exploitable application.
- Reading assembly. Identify function boundaries, arguments and local buffers, and rebuild what the C source would have looked like.
- Reading. The page links two papers on reconstructing binaries to C for beginners and on reading functions in disassembly.
How to approach it
- Run the program normally, then disassemble with
objdump -dor a GUI tool. - Annotate each function with what it does, searching for unsafe copies and unchecked lengths.
- Test your suspicion with oversized input, then build the exploit.
Why it matters
This is the real-world situation: no source, only a binary.