Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

hello , kindly help me here % BMPTool % % BMPTool ======= The program `bmptool` contains a number of exploitable bugs. Reverse engineer the program

hello , kindly help me here

% BMPTool % % BMPTool ======= The program `bmptool` contains a number of exploitable bugs. Reverse engineer the program to locate the vulnerabilities, and hand in the following: 1. A commented dissassembly of a function which contains a stack based vulnerability (stack buffer overflow or format string vulnerability). Include enough details to demonstrate that you know why the function is vulnerable, and how this vulnerability can be exploited. 2. A drawing of the stack layout of the function from (1), describing the layout at the time of exploitation. 3. A self-contained (i.e., if it needs files on disk, it must write the files first) exploit for the vulnerability from (1). You are free to choose any (publicly documented) programming language for your exploit. You may use shellcode from the previous assignments, or write a new one. Document your code well. 4. A commented dissassembly of a function which contains a heap vulnerability (heap buffer overflow, use after free, write-what-where or similar). Include enough details to demonstrate that you know why the function is vulnerable, and how this vulnerability can be exploited. 5. A drawing of the heap layout of the relevant chunks from (4), describing the layout at the time of exploitation. 6. A self-contained (i.e., if it needs files on disk, it must write the files first) exploit for the vulnerability from (4). You are free to choose any (publicly documented) programming language for your exploit. You may use shellcode from the previous assignments, or write a new one. Document your code well. If your code from (3) and (6) needs a build step, you should include a `Makefile` or a shell-script called `build.sh`. The assignment as a whole is worth 3 points and each sub-part will be graded equally. In case you decide to write more than one exploit, it is very likely to result in extra credit, but will not count towards the score of the assignment itself. Hints ----- * Don't be afraid of running the `bmptool`, here are a few invocations to try: programming doc

The program bmptool contains a number of exploitable bugs. Reverse engineer the program to locate the vulnerabilities, and hand in the following:

1. A commented dissassembly of a function which contains a stack based vulnerability (stack buffer overflow or format string vulnerability). Include enough details to demonstrate that you know why the function is vulnerable, and how this vulnerability can be exploited.

2. A drawing of the stack layout of the function from (1), describing the layout at the time of exploitation.

3. A self-contained (i.e., if it needs files on disk, it must write the files first) exploit for the vulnerability from (1). You are free to choose any (publicly documented) programming language for your exploit. You may use shellcode from the previous assignments, or write a new one. Document your code well.

4. A commented dissassembly of a function which contains a heap vulnerability (heap buffer overflow, use after free, write-what-where or similar). Include enough details to demonstrate that you know why the function is vulnerable, and how this vulnerability can be exploited.

5. A drawing of the heap layout of the relevant chunks from (4), describing the layout at the time of exploitation.

6. A self-contained (i.e., if it needs files on disk, it must write the files first) exploit for the vulnerability from (4). You are free to choose any (publicly documented) programming language for your exploit. You may use shellcode from the previous assignments, or write a new one. Document your code well.

If your code from (3) and (6) needs a build step, you should include a Makefile or build.sh

ssignment doc

% BMPTool % % BMPTool ======= The program `bmptool` contains a number of exploitable bugs. Reverse engineer the program to locate the vulnerabilities, and hand in the following: 1. A commented dissassembly of a function which contains a stack based vulnerability (stack buffer overflow or format string vulnerability). Include enough details to demonstrate that you know why the function is vulnerable, and how this vulnerability can be exploited. 2. A drawing of the stack layout of the function from (1), describing the layout at the time of exploitation. 3. A self-contained (i.e., if it needs files on disk, it must write the files first) exploit for the vulnerability from (1). You are free to choose any (publicly documented) programming language for your exploit. You may use shellcode from the previous assignments, or write a new one. Document your code well. 4. A commented dissassembly of a function which contains a heap vulnerability (heap buffer overflow, use after free, write-what-where or similar). Include enough details to demonstrate that you know why the function is vulnerable, and how this vulnerability can be exploited. 5. A drawing of the heap layout of the relevant chunks from (4), describing the layout at the time of exploitation. 6. A self-contained (i.e., if it needs files on disk, it must write the files first) exploit for the vulnerability from (4). You are free to choose any (publicly documented) programming language for your exploit. You may use shellcode from the previous assignments, or write a new one. Document your code well. If your code from (3) and (6) needs a build step, you should include a `Makefile` or a shell-script called `build.sh`. The assignment as a whole is worth 3 points and each sub-part will be graded equally. In case you decide to write more than one exploit, it is very likely to result in extra credit, but will not count towards the score of the assignment itself. Hints ----- * Don't be afraid of running the `bmptool`, here are a few invocations to try: $ ./bmptool $ ./bmptool -read demo.bmp -fliph -bw -write out.bmp * You might want to read up on the [BMP File Format](https://en.wikipedia.org/wiki/BMP_file_format). * The `bmptool` is using dlmalloc, you may want to look at `malloc.c` to see the implementation.

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

Pro PowerShell For Database Developers

Authors: Bryan P Cafferky

1st Edition

1484205413, 9781484205419

More Books

Students also viewed these Databases questions

Question

09 Administer internal and external privacy policies. Knowledge of:

Answered: 1 week ago