Best Essay Writing Service logo
  • My account
  • Order now
Order Now
Uncategorized

Buffer Overflow

2 min read
Posted on 
October 5th, 2022
Home Uncategorized Buffer Overflow

Learning Goal: I’m working on a c++ writing question and need an explanation and answer to help me learn.

The following program takes a password as input but always refuses to generate lottery numbers:

#include <iostream>

using namespace std;

char goodPassword() {

int good = ‘N’;

char Password[10]; // Memory storage for the password

cin>>Password; // Get input from keyboard

return (char)good;

}

int main() {

cout<<“Enter your password:”<<endl;

if (goodPassword() == ‘Y’) {

cout << “The lottery numbers are: “;

for (int i = 0; i < 5; i++)

cout << rand()%50 << ” “;;

}

else {

printf(“No numbers for you today.\n”);

}

return 0;

}

Luckily, the program is vulnerable to a buffer overrun in the goodPassword() procedure. The goal is to take advantage of the vulnerability so that it can generate lucky numbers for us.

a) Draw a diagram showing how the stack is arranged when this program runs. 10 pts

b) Figure out a password that can make the program output a lucky number. Hint: no need to overwrite the return address; there is an easier target to overwrite in this program. Explain how your password works.5 pts

c) Rewrite the program so that it no longer has a buffer vulnerability.

Order an Essay Now & Get These Features For Free:

Turnitin Report

Formatting

Title Page

Citation

Outline

Place an Order
Share
Tweet
Share
Tweet
Calculate the price
Pages (275 words)
$0.00
Best Essay Writing Service
Company
Legal
How Our Service is Used:
Best Essay Writing Service essays are NOT intended to be forwarded as finalized work as it is only strictly meant to be used for research and study purposes. Best Essay Writing Service does not endorse or condone any type of plagiarism.
Subscribe
No Spam
© 2023 Best Essay Writing Service. All rights reserved.
Best Essay Writing Service will be listed as ‘Best Essay Writing Service’ on your bank statement.