Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Computer security 4.8. Several students had issuc with the buffer overflow attack. Their badfile was constructed properly where shell code is at the end of

Computer security

image text in transcribed

4.8. Several students had issuc with the buffer overflow attack. Their badfile was constructed properly where shell code is at the end of badfile, but when they try different return addresses, thcy get the following obscrvations. Can you explain why some addresses work and some do not? buffer address 0xbffff180 case 1 long retAddr0xbffff250Able to get shell access case 2 ong retAddr = 0xbffff280-> Able to get she access case 3 : ong ret Addr - 0xbffff300-> Cannot get shell access case 4 : long retAddr -0xbffff310 -Able to get shell access case 5: ong retAddr = 0xbffff400-> Cannot get shell access 4.9. 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. Please write down the 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. In your answer, you don't need to write down the injected code, but the offsets of the key elements in your string need to be correct. Note: there is a trap in this problem; some people may be lucky and step over it, but some peoplc may fall into it. Be careful. int bof (char str) char buffer [24]; strcpy (buffer, str); return 1; 4.8. Several students had issuc with the buffer overflow attack. Their badfile was constructed properly where shell code is at the end of badfile, but when they try different return addresses, thcy get the following obscrvations. Can you explain why some addresses work and some do not? buffer address 0xbffff180 case 1 long retAddr0xbffff250Able to get shell access case 2 ong retAddr = 0xbffff280-> Able to get she access case 3 : ong ret Addr - 0xbffff300-> Cannot get shell access case 4 : long retAddr -0xbffff310 -Able to get shell access case 5: ong retAddr = 0xbffff400-> Cannot get shell access 4.9. 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. Please write down the 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. In your answer, you don't need to write down the injected code, but the offsets of the key elements in your string need to be correct. Note: there is a trap in this problem; some people may be lucky and step over it, but some peoplc may fall into it. Be careful. 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

blur-text-image

Get Instant Access with AI-Powered 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

Students also viewed these Databases questions