用gdb的动态视角看ret2text的实现
来看一道非常简单的栈溢出

后门函数地址ida里很明显,0x8048521
exp本身不难写,下面看一下怎么用gdb确定偏移
1 | from pwn import* |


0xffffcfd8 是当前函数的栈底,指向的0xffffcfe8是上一个函数的栈底(old_ebp)
用0xffffcfd8减去0xffffcfc6得到0x12,这也就对上了ida里的偏移量
我们退出,输入fini直接运行完,可以看出已经覆盖了0x12+0x4个字节,并且我们的后门函数地址已经成功覆盖到了ebp下的返回地址

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 JiuTian's blog!







