What is the highest and lowest memory address used by Windows?
- highest = 0x7FFFFFFF
Define the Stack
Explain LIFO and the Stack
Explain Return Address
CPU Registers
What are the general purpose registers?
EAX
- - Arithmetical and logical instructions
EBX
- - Base pointer for memory addresses
ECX
- - Loop, shift, and rotation counter
EDX
- - I/O port addressing, multiplication, and division
ESI
- - Pointer addressing of data and source in string copy operations
EDI
- - Pointer addressing of data and destination in string copy operations
ESP
- - Keeps ‘track’ of the most recently referenced location on the Stack (top of the Stack) by storing a pointer to it
What does “pointer” mean?
- stores the target address
EBP
EIP
What is the goal of Fuzzing?
What are the summary steps of exploiting a Win32 Buffer Overflow?
What is the first goal of exploiting a Win32 Buffer Overflow?
What is the first step to knowing if we have modified the EIP register?
- See the EIP address value comprised of 41414141 (A’s from our Buffer)
What is the next thing we need to do to gain control of the EIP register? How do you do this?
How do you locate space for the shellcode?
Which Bad Characters should always be excluded?
How do you determine which characters are bad for a given application?