我想知道如何通过导致缓冲区溢出来在本地计算机上执行任意代码。我认为系统API执行的功能以提升的特权运行,因此您必须将其跳转到自己的代码并执行,所以
在内存中分配X字节数量,并向其中复制<= X数量的代码。我们希望以提升的特权运行此shellcode。
在内存中分配Y个字节,并将Y个零(或其他任何东西)以及位置复制到x,以便堆栈中的下一条指令地址被覆盖。
< / li>让该函数(例如memcpy)继续进行,它应该以X(以提升的特权)执行我们的代码(在冻结之前,我想是这样,除非我们在代码末尾添加回跳到程序的代码在X中。
这似乎真的很简单而且不安全。 (在Windows上)是否有任何系统可以防止这种情况发生,或者甚至不能像这样工作?