3

我目前正在阅读几本关于安全编程的安全书籍(我的热情),但是它们在光盘上提供的发行版要么有问题,要么不存在。书籍:Hacking The art of Exploitation 2nEd, Gray Hat hacking 2nEd 问题是当我尝试按照示例进行操作时,显然较新的发行版具有堆栈保护和其他安全功能来防止这些情况,我试图手动设置环境提供了黑客利用的艺术,但我失败了。我也尝试过 DVL(Dam Vulnerable Linux),但它太臃肿了,我只想要一个最小的环境,我可以在一个小分区中拥有并从引导加载程序中选择,或者在一个小的虚拟机中拥有。

所以我的问题是:我该如何设置一个环境(发行版旧内核),我可以在其中遵循大多数这些示例。可能如果有人能告诉我 DVL 的内核和 GCC 版本,我可以得到它的大部分设置我。

4

3 回答 3

2

您需要在没有堆栈和堆保护(包括不可执行堆栈)的情况下重建内核。然后您需要使用 gcc 标志进行编译以关闭保护,其中之一是“-fno-stack-protector”。另外,因为您很快就会遇到它,您可能希望静态编译您的程序,因为当您调试 0x41414141 有效负载时,它会更容易理解。

此外,根据您对“臃肿”的定义,最简单的方法可能是下载较旧的 linux 发行版、redhat 5 或旧的 slackware,然后安装并使用默认工具链。

于 2009-10-05T05:26:26.980 回答
1

如果您仍有可用的 DVL,则可以使用以下命令:

$ uname -r
$ gcc --version

自己找出来。

编辑:根据distrowatch.com,linux 内核是 2.6.20,gcc 是 3.4.6

于 2009-10-03T07:23:17.023 回答
0

sevagas 网站上有一篇与您的问题相关的文章: How-to setup a buffer overflow testing environment

于 2011-01-03T15:58:12.470 回答