Really awesome read about buffer overflows. My only interest a few people but was a nice 25 page article.
http://bit.ly/x8lpVF [PDF]
Buffer Overflows: Anatomy of an Exploit
A Look at How Systems are Exploited, and Why These Exploits Exist
This paper will look at how buffer overflows occur on the stack. It will outline
how the stack should be visualised when software engineers code in languages that
requires manual memory management(assembly, c, c++, etc) and the importance of
the ‘null terminating character’ in possible vulnerabilities.
Before considering the exploitation of systems and the methods that should be
employed to remove them, some time will be spent explaining the stack in the x86
architecture, the flat memory model employed by modern operating systems how
payloads are written and delivered to exploited programs.