Answered step by step
Verified Expert Solution
Question
1 Approved Answer
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.
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 0Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started