✔️ Remote code execution
✔️ Privilege escalation attacks
✔️ Understanding basics of memory corruption attacks
→ buffer overflow vulnerability where an attacker can take control :
we want the application to behave differently from the way the author designed it to be
what can the buffer overflow attack lead to?
area in the computer RAM for temporary data storage:
buffers have finite size
example:
what happens if developer doesn't enforce buffers' limits:
attacker can write beyond the limits
→ attacker writes arbitrary code in the RAM
→ attacker writes a program
→ gains flow of the program execution flow
Buffers are stored in stacks
LIFO
push() and pop()
similarly if we overwrite the content of the execution function in the stack, then we will be controlling the execution flow
random overwriting will crash the application
well-engineered overwriting can exploit buffer overflow
I we are able to overwrite local variables and the base pointer, we can overwrite Return Address with a buffer flow
tougher and requires assembly language programming.