Vulnerability Development mailing list archives
Re: Jump back to shellcode Windows overflow
From: Matt Conover <shok () camel ethereal net>
Date: Tue, 22 Apr 2003 11:22:50 -0700 (PDT)
You need to put a jmp instruction to jump back to your shellcode (which should be located after the return address). Try something like this: [NOPs][Shellcode][Padding (ebp, local vars, etc.)][Return address = pointer to a JMP ESP][jmp 0-padding-shellcode_len-5] Note the first thing your shellcode should do is add esp, 0xffffeff0 (which is the same as subtracting esp by ~4K) so that when you push stuff onto the stack you're not corrupting your shellcode Matt On Mon, 22 Apr 2003 chaboyd77 () yahoo com wrote:
I'm practicing developing Windows Buffer Overflows and
have run into a slight snag. When I overwrite EIP with
the address of "jmp ESP" I land below my shellcode instead
of where the top of the stack used to be:
<-----------400 bytes-------->
[NOP's........Shellcode...EIP..*<-code jumps here**]
This didn't seem right but I figured that I'd use an
offset from ESP to hop back to my shellcode.
xor eax,eax
xor ebp,ebp
mov ebp,esp
mov eax,ebp - 190H
jump eax
What I'm trying is loading esp into ebp and then moving
that value into eax followed by a jump eax. Tried straight
from esp to eax but figured out that wasn't allowed. I know
that the .printer exploit(jill.c) does something similar (uses
eax and ebx to make the jump). Any ideas?
Thanks,
Dave
Current thread:
- Jump back to shellcode Windows overflow chaboyd77 (Apr 22)
- Re: Jump back to shellcode Windows overflow Blue Boar (Apr 22)
- Re: Jump back to shellcode Windows overflow Matt Conover (Apr 22)
- Re: Jump back to shellcode Windows overflow Dino Dai Zovi (Apr 23)
- <Possible follow-ups>
- Re: Jump back to shellcode Windows overflow chaboyd77 (Apr 24)
- heap overflow under solaris sparc Admin (Apr 28)
- Re: heap overflow under solaris sparc Claes Nyberg (Apr 28)
- heap overflow under solaris sparc Admin (Apr 28)
