Drifter1
By Amr
Level 1 is a file parsing / heap corruption bug, with C++ classes.
Estimated reading time: 0 minutes
Table of Contents
Source: This content is aggregated from overthewire (MIT). Visit the original repository for the latest version.
Level 1 is a file parsing / heap corruption bug, with C++ classes.
There is no need to mess around with heap exploitation, and C++ lends itself to relatively straight forward exploitation.
SMASHING C++ VPTRS - Although keep in mind that compiler changes can influence how things are laid out.
When looking over the below code, keep in mind what needs to be done to enable debugging, and what SetBuffer does.
One last hint: In order to correctly overflow the objects / pointers, the allocation size will have to be similar to the class size ;) Even blindly messing around will lead to code execution sooner or later