Buffer Overflow Attacks
-
A buffer is an area of adjacent memory locations allocated to a program or application to handle its runtime data
-
Buffer overflow vulnerability in applications
- That accept more data than the allocated buffer
-
Allows the application to exceed the buffer while writing data to the buffer to do:
- Overwrite neighboring memory locations
- Erratic system behavior
- System crash
- Memory access errors
-
Attackers exploit a buffer overflow vulnerability to inject malicious code into the buffer to:
- Damage files
- Modify program data
- Access critical information
- Escalate privileges
- Gain shell access
Tools
Attacking Systems with buffer overflow
The design of most web applications helps them in sustaining some amount of data. If that amount exceeds the storage space available, the application may crash or exhibit some other vulnerable behavior. An attacker uses this advantage and floods the application with an excess amount of data, causing a buffer overflow attack.