App - System

Thursday 2 August 2018, 11:24  #1
App - System ELF x86 - Stack buffer overflow basic 6
Esra
  • 1 posts

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?

Sunday 26 August 2018, 19:42  #2
App - System ELF x86 - Stack buffer overflow basic 6
NonStandardModel
  • 42 posts

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.