Windows vs Linux 缓冲区溢出



我看到了很多关于堆栈缓冲区溢出利用的教程,但我注意到Windows和Linux漏洞利用三明治之间的区别。

Linux漏洞利用三明治:nops + shellcode + 返回地址

Windows漏洞利用三明治:nops + 返回地址 + shellcode

我的问题是:Windows和Linux之间的内存组织有区别吗?如果不是,为什么 Linux 中的漏洞利用三明治与 Windows 漏洞利用三明治不同?

关于 Linux vs Windows 的一般内存布局,这是一个很好的介绍性文章: http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory/

最新更新