0

我需要为一个类做一个远程缓冲区溢出漏洞利用。我了解其中的大部分。它涉及覆盖 main 的返回地址,以便我可以执行自己的代码。但是我们从来没有讨论过如何在内存中找到返回地址的位置......我一直弄错了,漏洞利用不起作用:(

我坐在 gdb 中,我有缓冲区的地址 (0xbffff3dc)

现在,我需要找出返回地址在堆栈中的哪个位置(这样我就可以找出它和我的缓冲区之间的偏移量)。

然后我会知道我必须添加多少空间:

  • 一个 NOP (0x90) “雪橇”
  • 我的shellcode
  • 更多 NOP ???
  • 我的缓冲区的地址(覆盖返回地址)
  • “\r\n” ???

^ 我不确定标有“???”的东西是否 是完全必要的。

4

1 回答 1

1

您可能可以使用objdump

试一试objdump -d your-executable,它会给你汇编代码和地址

于 2013-03-08T06:35:22.810 回答