Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In addition to stack-based buffer overflow attacks, heap overflows can also be exploited. Consider the following C code, which illustrates a heap overflow. (a) Compile

In addition to stack-based buffer overflow attacks, heap overflows can also be exploited. Consider the following C code, which illustrates a heap overflow.

image text in transcribed

(a) Compile and execute this program. What is printed?

(b) Explain the results you obtained in part a.

(c) In terms of C/C++ memory management, what is the difference between stack and heap? In particular, which one is allocated/deallocated automatically, and which one needs programmers to take care of?

(d) Explain how a heap-based buffer overflow works, in contrast to the stackbased buffer overflow.

= int main() { int diff, size 8; char *bufl, *buf2 ; buf1 (char *) malloc(size); buf2 (char *) malloc(size ); diff buf2 bufl; = = = memset (buf2, '2', size ); printf("BEFORE: buf2 %s", buf2 ); memset (bufi, 'l', diff + 3); printf("AFTER: buf2 %s", buf2); = return 0; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Modern Database Management

Authors: Jeff Hoffer, Ramesh Venkataraman, Heikki Topi

12th edition

133544613, 978-0133544619

Students also viewed these Databases questions

Question

(3) What does a good leader look like now and in the future?

Answered: 1 week ago