
Heap Corruption Exploits
The heap is an area of memory utilized by an application and allocated
dynamically at runtime. It is common for buffer overflows to occur in the heap
memory space and exploitation of these bugs is different than that of stack-
based buffer overflows.
Unlike stack overflows, heap overflows can be very inconsistent and have
varying exploitation techniques. In this section, we will explore how heap
overflows are introduced in applications, how they can be exploited, and what
can be done to protect against them.
An application dynamically allocates heap memory as needed.This allocation
occurs through the function call malloc().