Question
7. The following function is called in a privileged program. The argument str points to a string that is entirely provided by users (the size
7. The following function is called in a privileged program. The argument str points to a string that is entirely provided by users (the size of the string is up to 300 bytes). When this function is invoked, the address of the buffer array is 0xAABB0010, while the return address is stored in 0xAABB0050. You need to construct the attack string that you would feed into the program, so when this string is copied to buffer and when the bof() function returns, the privileged program will run your code. Which position in your string (with respect to the beginning of your string), you will put the new return address which will be used to overwrite the return address of the bof() function? What is the value of the new return address (you just need to provide one possible value assuming the whole attack string is pre-filled with 300 NOPs)? int bof(char *str) { char buffer[24]; strcpy(buffer,str); return 1;}
Step 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