Lab 2: Buffer Overflows
Fengwei Zhang
Wayne State University Course: Cyber Security Prac@ce 1
Lab 2: Buffer Overflows Fengwei Zhang Wayne State University - - PowerPoint PPT Presentation
Lab 2: Buffer Overflows Fengwei Zhang Wayne State University Course: Cyber Security Prac@ce 1 Buffer Overflows One of the most common vulnerabili@es in soEware Programming languages commonly associated with buffer overflows including
Wayne State University Course: Cyber Security Prac@ce 1
Wayne State University Course: Cyber Security Prac@ce 2
Wayne State University Course: Cyber Security Prac@ce 3
Wayne State University Course: Cyber Security Prac@ce 4
Wayne State University Course: Cyber Security Prac@ce 5
Wayne State University Course: Cyber Security Prac@ce 6
Stack Heap Data Segment Text Segment High memory Low memory
Wayne State University Course: Cyber Security Prac@ce 7
Kernel Space Stack Heap BSS Segment Data Segment Text Segment (ELF) 1GB 3GB Local variable: int a Func@on malloc() Unini@alized sta@c variables: sta@c char *u sta@c char *s = “Hello world” Binary of the program
Wayne State University Course: Cyber Security Prac@ce 8
Wayne State University Course: Cyber Security Prac@ce 9
Wayne State University Course: Cyber Security Prac@ce 10
3 2 Ret Address EBP C High memory Low memory ESP int add (int a, int b) { int c; c = 1+b; return c; }
Wayne State University Course: Cyber Security Prac@ce 11
Wayne State University Course: Cyber Security Prac@ce 12
(A) str(A) Ret addr(A) EBP(A) A A A A A A High memory Low memory ESP
Wayne State University Course: Cyber Security Prac@ce 13
Wayne State University Course: Cyber Security Prac@ce 14
Wayne State University Course: Cyber Security Prac@ce 15
(A) str(A) Ret addr(A) EBP(A) Canary(A) A A A A A High memory Low memory ESP
Wayne State University Course: Cyber Security Prac@ce 16
Wayne State University Course: Cyber Security Prac@ce 17