【发布时间】:2024-04-26 20:55:02
【问题描述】:
简短:我想运行堆栈段中的代码。
问题详情: 我们的任务是使用堆栈溢出方法制作一个攻击程序。
程序将代码打印到 file1.txt 目标程序有一个 PROC 分配空间并将字符放入分配的堆栈。
我们希望目标程序从 file1.txt 中获取攻击代码, 并强制它从堆栈中运行代码。 现在,我们需要将 PROC 的返回值与堆栈段中的攻击代码的地址进行交换。
我成功将PROC的ret值和code的地址交换了,但是ip认为这个有效地址是CODE SEGMENT而不是STACK SEGMENT。
那么,我们如何让ip知道堆栈段的地址而不是代码段的地址???
【问题讨论】:
-
你忘了说什么操作系统和什么架构。现在的典型操作系统使用平面内存,因此没有代码或堆栈段。