首页 > 代码库 > 修改程序堆栈的可执行属性
修改程序堆栈的可执行属性
最近刚刚做完CSAPP的几个实验,在bufbomb实验中level2和level3,需要将攻击代码嵌入到缓冲区中并修改程序返回地址为缓冲区起始地址,但是遇到了栈不可执行的问题。因为ubuntu默认栈不可执行。这里总结了两种修改程序堆栈可执行属性的方法。
方法一:(有.c源文件)
- gcc -g -z execstack -fno-stack-protector stack.c -o stack
- ./stack
方法二:(只有编译后的可执行程序,比如实验中的bufbomb)
- 在本地安装execstack,命令: sudo apt-get install execstack
- 修改程序堆栈的可执行属性,命令: execstack -s bufbomb
关闭ASLR命令:
- su root
- sysctl -w kernel.randomize_va_space=0(赋值为2,即可打开ASLR)
修改程序堆栈的可执行属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。