Question: In addition to stack-based buffer overflow attacks (i.e., smashing the stack), heap overflows can also be exploited. Execute the following C code, which illustrates a

In addition to stack-based buffer overflow attacks (i.e., smashing the stack), heap overflows can also be exploited.

Execute the following C code, which illustrates a heap overflow.

In addition to stack-based buffer overflow attacks (i.e., smashing the stack), heap

It prints out: BEFORE: buf2 = 22222222 AFTER: buf2 = 11122222

Explain the output, that is, why there's a difference between before & after even the code does not change the content of buf2?

\#include \#include \#include int main()\{ int diff, size =8; char *buf1, buf2; buf1 =( char ) malloc(size); buf2 =( char )malloc(size); diff = buf2 - buf1; memset(buf2, ' 2 ', size); printf("BEFORE: buf2 =% s ", buf2); memset(buf1, '1' , diff +3); printf("AFTER: buf2 =% ", buf2); return 0

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!