缓冲区溢出特权提升如何工作?

时间:2018-09-13 15:02:06

标签: memory buffer-overflow privilege-elevation

我想知道如何通过导致缓冲区溢出来在本地计算机上执行任意代码。我认为系统API执行的功能以提升的特权运行,因此您必须将其跳转到自己的代码并执行,所以

  1. 在内存中分配X字节数量,并向其中复制<= X数量的代码。我们希望以提升的特权运行此shellcode。

  2. 在内存中分配Y个字节,并将Y个零(或其他任何东西)以及位置复制到x,以便堆栈中的下一条指令地址被覆盖。

    < / li>
  3. 让该函数(例如memcpy)继续进行,它应该以X(以提升的特权)执行我们的代码(在冻结之前,我想是这样,除非我们在代码末尾添加回跳到程序的代码在X中。

这似乎真的很简单而且不安全。 (在Windows上)是否有任何系统可以防止这种情况发生,或者甚至不能像这样工作?

0 个答案:

没有答案