. . . . . . . 166
Build the Exploit Sandwich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Test the Exploit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Chapter 8 Advanced Linux Exploits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Format String Exploits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
The Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Reading from Arbitrary Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Writing to Arbitrary Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Taking .dtors to root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Heap Overflow Exploits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Example Heap Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Implications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Memory Protection Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Compiler Improvements .
Pages:
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32