ABSTRACT

This chapter describes how buffer overflows are exploited. A number of different buffer overflow attacks are described and analyzed. In Section 8.6 we present an example program with a number of buffer overflow vulnerabilities. The student assignment will be to exploit these vulnerabilities. By the end of the assignment, the student should know:

• What buffer overflow vulnerabilities are, • Different classes of buffer overflow exploits, • How buffer overflow exploits work, • How buffer overflows can be avoided, • Basics of software reverse engineering, and • Details of how the stack works.