美文网首页
ubuntu遇到的问题与栈溢出学习

ubuntu遇到的问题与栈溢出学习

作者: 鸡龙 | 来源:发表于2018-11-11 18:33 被阅读0次

一、遇到问题和解决方法

1.make无法安装:

  https://blog.csdn.net/u014723529/article/details/40404391

2.安装软件包时遇到签名无效,明文签署文件不可用等问题,进行源更新:

https://blog.csdn.net/qq_37367124/article/details/79475069

3.make 出现pip8.1.1 requires SSL/TLS:

安装openssl-devel

yum install opensll-devel

apt-get install libssl-dev

apt-get install openssl

4.安装pip3源更新问题:

https://blog.csdn.net/qq_27366789/article/details/80559074

5.更新pip3却显示异常,出现ImportError: cannot import name main:

https://blog.csdn.net/accumulate_zhang/article/details/80269313

6.GCC编译程序:

https://zhidao.baidu.com/question/2202210069320880548.html

7.关闭ASLR时,出现权限不够问题:

http://www.cnblogs.com/studyskill/p/7849775.html

8.GCC生成关闭ASLR关闭PIE并不生成cnanary命令:

gcc -fno-stack-protector -o newfile file -no-pie

8.64位编译32位打开多架构支持:

https://www.cnblogs.com/mliudong/p/4086797.html

二、工具安装与学习

1.pwntools安装,与模块介绍:

https://www.jianshu.com/p/355e4badab50


2.IDA

https://blog.csdn.net/re_psyche/article/details/78797689

https://www.cnblogs.com/DismalSnail/p/8743466.html

3.gdb安装相关:

gef插件安装:https://blog.csdn.net/gatieme/article/details/63254211?utm_source=blogxgwz3

setvbuf全缓冲,行缓冲,不带缓冲:https://www.cnblogs.com/DismalSnail/p/8743466.html

三、栈学习

1.区分寄存器:

%eax、%edx和%ecx为主调函数保存寄存器

%ebx、%esi和%edi为被调函数保存寄存器

ESP(Stack Pointer)是堆栈指针寄存器,存放执行函数对应栈帧的栈顶地址(也是系统栈的顶部),且始终指向栈顶;

EBP(Base Pointer)是栈帧基址指针寄存器,存放执行函数对应栈帧的栈底地址,用于C运行库访问栈中的局部变量和参数。

EIP(Instruction Pointer)是指令寄存器,指向处理器下条等待执行的指令地址(代码段内的偏移量),每次执行完相应汇编指令EIP值就会增加。

2.理解栈在函数调用时的变化过程:

3.指令

add esp,xxx 降低栈顶,回收当前的栈帧

pop ebp 将上一个栈帧底部位置恢复到ebp

retn 这条指令有两个功能 a)弹出当前栈顶元素,即弹出栈帧中的返回地址至此,栈帧恢复工作完成 b)让处理器跳转到弹出的返回地址,恢复调用前的代码区

区分 mov %esp,%ebp与 mov %ebp,%esp

前者为开辟新栈帧,后者为释放栈空间

4.main中调用func_A,func_A中再调用func_B的函数调用实现

相关文章

  • ubuntu遇到的问题与栈溢出学习

    一、遇到问题和解决方法 1.make无法安装: https://blog.csdn.net/u014723529...

  • 2019-04-05一个月的约定

    一个月的约定快要到了,疯狂补栈溢出知识,偷看大佬们博客,希望学到点什么。 栈溢出学习网站 CTF Wiki 栈溢出...

  • StackOverflowError 栈溢出实战

    栈溢出的原因 在解决栈溢出问题之前,我们首先需要知道一般引起栈溢出的原因,主要有以下几点: 是否有递归调用 循环依...

  • 软件安全-return-to-libc攻防

    Return-to-libc Attack Lab 实验目的:绕过栈保护机制,通过缓冲区溢出,获取ubuntu12...

  • 栈内存溢出的问题

    制造一个栈内存溢出的问题。 错误原因:因为test()方法不停的进栈,栈的内存不足,就是抛出StackOverfl...

  • 浅说iOS为什么会上栈溢出

    简介 本文介绍了如下内容 栈的概念 为什么会发生栈溢出 栈溢出的几种栗子 怎么预防和发现栈溢出。 什么是栈? 从数...

  • 栈溢出简易指南

    栈 pwn 主题: 基本栈溢出 针对缓存区溢出防护的对策 shellcode 栈溢出的最终目的是执行shellco...

  • JVM

    1、一般什么情况会发生栈溢出、堆溢出 栈溢出(StackOverflowError) 1、栈是线程私有的,他的生命...

  • __stack_chk_fail 崩溃问题

    参考:栈检查失败Linux 栈溢出 __stack_chk_fail 是指栈检查失败,具体是的 sp 指针与保存的...

  • 堆栈基础(一)

    新手入门pwn之栈溢出系列,先学习堆栈的基础,函数调用栈这些. 运行时栈 运行时栈(runtime stack)是...

网友评论

      本文标题:ubuntu遇到的问题与栈溢出学习

      本文链接:https://www.haomeiwen.com/subject/fhqzxqtx.html