加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 安全 > 正文

何为缓冲区溢出以及如何利用漏洞

发布时间:2022-07-29 10:06:19 所属栏目:安全 来源:互联网
导读:在信息安全和编程中,缓冲区溢出是一种异常,其中程序在将数据写入缓冲区时会超出缓冲区边界并覆盖相邻的内存位置。缓冲区是留出的用于存储数据的内存区域,通常是在将数据从程序的一个部分移动到另一部分或在程序之间移动时使用的。如果假设所有输入都小于
   在信息安全和编程中,缓冲区溢出是一种异常,其中程序在将数据写入缓冲区时会超出缓冲区边界并覆盖相邻的内存位置。缓冲区是留出的用于存储数据的内存区域,通常是在将数据从程序的一个部分移动到另一部分或在程序之间移动时使用的。如果假设所有输入都小于特定大小,并且缓冲区被创建为该大小,则产生更多数据的异常事务可能导致其写入缓冲区的末尾。
 
  缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患,操作系统所使用的缓冲区,又被称为"堆栈"。在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓冲区溢出。
 
  缓冲区溢出攻击之所以成为一种常见安全攻击手段其原因在于缓冲区溢出漏洞太普遍了,并且易于实现。而且,缓冲区溢出成为远程攻击的主要手段其原因在于缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代码。被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。
 
  你知道gcc如何将你的代码从“C”转换为计算机可执行的机器语言吗?简而言之,我们可以说该过程分3个步骤完成:
 
  “C”中的代码将转换为汇编语言,该汇编语言是二进制之后的最低级语言。此时,汇编代码被翻译成二进制。可执行文件是“链接的”,换句话说,链接是由代码使用的库建立的。
 
  现在让我们看一下汇编器的基础知识,因为这种语言对于理解开发过程至关重要。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读