When it comes to buffer overflow, most people talk about an overrun in the stack segment. But what about the heap? You rarely find documentation how a heap overflow is triggered and how you can exploit it.Buffer Overflow is the consequence of a vulnerability in computer software. It's used by attackers to overwrite memory bounds, to crash the code and even to inject malicious code - the so called "payload."In this video tutorial, I'll explain the data structure of the heap and the stack segment. I'll also exploit my own demo code and explain what happens in the memory...Every program's memory allocation is compiled of meta data and the memory returned, also known as a "chunk." All the meta data and memory returned are saved on the heap, a dynamic data structure (right after the previous memory allocation; assuming none have been released).If you also want to know more about buffer overflow in the stack segment, make sure you watch my video tutorial about buffer overflow in the stack segment, where, I reverse engineer my demo code with Immunity Debugger to explain how the memory is processed in the stack.