zoukankan      html  css  js  c++  java
  • 修改程序堆栈的可执行属性

    最近刚刚做完CSAPP的几个实验,在bufbomb实验中level2和level3,需要将攻击代码嵌入到缓冲区中并修改程序返回地址为缓冲区起始地址,但是遇到了栈不可执行的问题。因为ubuntu默认栈不可执行。这里总结了两种修改程序堆栈可执行属性的方法。

    方法一:(有.c源文件)

    1. gcc -g -z execstack -fno-stack-protector stack.c -o stack
    2. ./stack

    方法二:(只有编译后的可执行程序,比如实验中的bufbomb)

    1. 在本地安装execstack,命令:  sudo apt-get install execstack
    2. 修改程序堆栈的可执行属性,命令: execstack -s bufbomb

    关闭ASLR命令:

    1. su root
    2. sysctl -w kernel.randomize_va_space=0(赋值为2,即可打开ASLR)
     
  • 相关阅读:
    网络
    DB
    DevOps
    Linux 进程管理:Supervisor
    Tomcat相关知识
    Tomcat配置和数据源配置
    Eclipse智能提示及部分快捷键
    Servlet工作原理
    蜗牛
    Servlet技术
  • 原文地址:https://www.cnblogs.com/xlzhh/p/4222917.html
Copyright © 2011-2022 走看看