App - System
App - System ELF x86 - Stack buffer overflow basic 6
Hello
I have a problem locating space for my shellcode. When I conducted the buffer overflow, my injected code wasn’t located in a well known register (eg. EAX), but rather on an arbitrary address, hence I can’t make use of looking for a statement that jumps to a register (eg. jmp eax), hence I placed my shellcode into an environment variable, and found its address through gdb (x/900s $esp), and put the found address in eip. The problem is I get:
Cannot access memory at address 0x31624130
0x31624130 in ?? ()
My questions are:
1- Why in some applications our code goes into a well known register like eax and sometimes -as in this case- it doesn’t ?
2- Why am I getting this error?
App - System ELF x86 - Stack buffer overflow basic 6
Hello,
this is not answering your question, but...
As you can see in the "Environment configuration " part of challenge description the stack is not executable in this challenge. So placing your shellcode in the Environment Variable will not work.