Control-Flow Attacks
Topics and Goals
- Basics of buffer overflow attacks
- Identify and exploit a basic buffer overflow
- Format String Attacks
- Identify and exploit format-string vulnerabilities
Buffer Overflows
- What is a control flow highjack?
- What enables buffer overflows?
- What can they accomplish?
- How does a basic buffer overflow work?
- What makes buffer overflows more challenging in practice?
- How can attacker overcome these challenges
Format String Attacks
-
How do variadic functions work?
-
Which format specifiers can be abused in an attack?
-
How can we use a format-string vulnerability to:
- View a specific memory address?
- Why is this useful?
- Write to a specific memory address?
- Why is this useful?
- Write a specific value to a specific memory address?
- View a specific memory address?