Part 1 of my 2 part explanation on Buffer Overflows. I wrote this with mad love for you all. I hope this helps. http://www.blackroomsec.com/buffer-overflow-explained-walkthrough-part-one/ …
*Almost* correct now. I think you meant find . -name "*.c" | xargs grep "gets(" Or grep -r "gets(" . Also, I'd put a note in that advanced attack forms work around stack smashing protection and ASLR by combining multiple bugs.