我刚刚阅读了 AlephOne关于粉碎堆栈的论文,并在我的机器(Ubuntu 12.04)上实现了它,它有点旧,所以不得不从互联网上获得很多帮助,但我很喜欢它。
现在,我想了解在现实生活中如何防止这种情况发生。
如果您能向我推荐一些证明如何预防它的论文或在线资源,那就太好了。
我刚刚阅读了 AlephOne关于粉碎堆栈的论文,并在我的机器(Ubuntu 12.04)上实现了它,它有点旧,所以不得不从互联网上获得很多帮助,但我很喜欢它。
现在,我想了解在现实生活中如何防止这种情况发生。
如果您能向我推荐一些证明如何预防它的论文或在线资源,那就太好了。
只是一个小提示:
由于您使用的是 Ubuntu 12.04 进行测试,因此您必须给您的系统一个命令(假设您从 Internet 获得了很多帮助,这是您第一次尝试破坏堆栈):
echo 0 > /proc/sys/kernel/randomize_va_space
或者一些相关的命令。该命令基本上禁用了系统上的ASLR(Terry 提到)。默认情况下,ASLR 是内核版本 2.6 及更高版本上启用的功能。
(实际上想将此作为评论发布,但由于声誉问题而无法这样做:))