167 字
1 分钟
ctfshow stack overflow pwn80
2026-05-22
ctfshow
/ stack-overflow
附件:exp.py

先跑出栈的长度:72 一到 73 程序就会崩溃,因为访问了非法地址

再找合适的 stop_gadget(防止后续测试 gadget 的时候每次都崩溃,那样就看不出来是否是想要的 gadget 了)寻找的点:返回值为空,不报错。

做一个小测试避免搞错:

确实成功返回了 main 函数(结果太长了就不在这演示了)
下一步找 ret2csu 的 gadget 链(主要是为了获得 pop rdi;ret 来做 puts)。
寻找的点:gadget 连续 6 个 pop
再获取 puts_plt
利用 puts 函数泄露 libc 版本走 ret2libc

ctfshow{5f066181-da96-402e-ab03-c8dce3e44cb6}
ctfshow stack overflow pwn80
https://alf-ovo.cn/posts/ctfshow-stack-overflow-pwn80/