缓冲区溢出的形成及利用3

(shellcode的编写)

 

现在我们可以修改返回地址即可以改变程序执行的流程,我们想要执行什么程序呢?

在大多数情况下我们只是希望程序派生出一个shell,从这个shell中, 可以执行任何我们所希望的命令。一般来说,我们试图破解的程序里并没有这样的代码,因此需要我们把想要执行的代码放到我们想使其溢出的缓冲区里,并且覆盖函数的返回地址,使其指向这个缓冲区。