Create your own buffer overflows

Every now and again we all hear about an exploit that takes place
thanks to a buffer overflow, but what is a buffer overflow? By
definition it is when a program attempts to store more data in an array
(buffer) than it was intended to hold and attempting to overwrite the
return address of a function. To show how this is actually done, lets
do a simple attack on a fairly small program more