当前位置:  开发笔记 > 运维 > 正文

在ubuntu上堆栈执行保护和随机化

如何解决《在ubuntu上堆栈执行保护和随机化》经验,为你挑选了1个好方法。

作为课程作业的一部分,我需要编写一个漏洞利用代码来导致缓冲区溢出并执行堆栈中存在的代码.

我已通过以下命令关闭堆栈随机化:sysctl -w kernel.randomize_va_space = 0但是,我无法找到关闭堆栈执行保护的方法.我不确定在ubuntu中是否有一些堆栈exec保护...所以我的第一个问题是在ubuntu 8.10中是否有像red hat的exec-shield这样的东西,如果有,我们怎么能把它关掉.

我一直试图导致缓冲区溢出并从堆栈执行指令,但每当我尝试这样做时,它会给我一个seg错误.

我有ubuntu 8.10 64位,但是程序即时调试是在关闭堆栈保护的i386机器上编译的.



1> 小智..:

您可能希望使用-z execstackGCC编译中的标志进行编译,以及-fno-stack-protector(禁用GCC的SSP/Propolice堆栈保护),即:

gcc -fno-stack-protector -z execstack -o vuln vuln.c

在此之后,一切都应该变成杰克.注意,这sysctl -w kernel.randomize_va_space=0只是地址空间随机化,而不是堆栈保护本身; 这可能是强行使用各种技术.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有