Introduction to Shellcode: How to exploit buffer overflows. A very thorough and well written paper on how it all works. A good read for anyone curious and even those who already think they know it all. It includes step by step examples from vulnerability discovery to a finished exploit. The paper focuses on x86 Intel syntax assembly under Linux.
1929d512b64ef4d90495bb2026a18ce18306161bf9fb0cda06032dfadf958381