1. Software - The Root of the Problem

2. Attack Patterns

3. Reverse Engineering and Program Understanding

4. Exploiting Server Software

5. Exploiting Client Software

6. Crafting Input

7. Buffer Overflow

8. Rootkits