我正在阅读关于安全编程的几个安全书籍(我的激情),但他们要么在光盘上提供的发行版的出现故障,或不存在。 书籍:黑客开发2nEd的艺术,灰帽黑客2nEd 问题是,当我尝试下面的例子,显然新的发行版已经堆栈保护和实施,以防止这些情况等安全功能,和我已经试过手动设置提供了黑客利用的艺术环境,但我失败了。 此外,我已经试过DVL(大坝脆弱的Linux),但它的方式过于臃肿,我只想要一个最小的环境,我可以在一个小分区和引导程序选择,或在一个小的VirtualBox。

所以我的问题是这样的:我如何去建立一个环境(发行版旧内核),我可以按照大多数的这些例子可能,如果有人能告诉我DVL的内核和GCC的版本,我能得到最它建立自己。

有帮助吗?

解决方案

您需要重建内核,而不栈和堆保护包括非可执行栈。然后,您需要使用gcc标志关闭的保护,其中之一将是“-fno堆栈保护器”进行编译。此外,因为你会碰上它很快你可能想静态编译你的程序,因为这将是一个有点容易理解它,当你调试到您的0x41414141有效载荷。

也取决于你的定义“膨胀”这可能是最简单的只是下载linux,红帽5或旧的Slackware的旧发行和安装,使用与默认的工具链。

其他提示

如果你仍然有DVL可用,您可以使用命令:

$ uname -r
$ gcc --version

要自己去找。

编辑:根据 distrowatch.com Linux内核是2.6.20和GCC是3.4.6

有是sevagas网站,是关系到你的问题上一篇文章: 如何-设置缓冲区溢出测试环境

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top