Task C: “Argument for system()” in the question 18 requires…

Task C: “Argument for system()” in the question 18 requires understanding in exact machine effects achieved by X86 function prolog and epilog.     The following table lists X86 gcc compiler generated function epilog instructions. Copy the following table into the answer text box and fill the table with the appropriate %esp and %ebp register values right after the execution of the each instruction in the function epilog. For this question, suppose the following; %esp = 0xbfff1230%ebp = 0xbfff1210M[0xbfff120c]=0xf7312420 # The content of 4 bytes of memory referenced by the address 0xbfff120c is 0xf7312420 M[0xbfff1210]=0xbfff11f0M[0xbfff122c]=0xf7123120M[0xbfff1230]=0xf7304f80 Function epilog x86 instructions in AT&T assembly format  %ebp  %esp movl %ebp, %esp popl %ebp ret # popl %eip

The payload (“badfile”), which being properly created with T…

The payload (“badfile”), which being properly created with Tasks A, B, and C, enables to obtain “/bin/sh” with a regular user privilege. Even though the stack program is a root-owned set-uid program and return-to-libc attack is successfully launched,  we still won’t be able to obtain “/bin/sh” with a root privilege. Describe the additional tasks other than Tasks A, B, and C to obtain a root shell. Note that you are *NOT* allowed to use “/bin/zsh” instead. 

Suppose the regular user seed (UID 1000) was able to success…

Suppose the regular user seed (UID 1000) was able to successfully launch Buffer-Overflow-Attack on this root-owned SetUID program simple_stack using the shellcode. However, the user seed wasn’t able to get a root prompt, but a regular prompt. Explain why.