缓冲区溢出攻击的基本概念

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。

缓冲区溢出攻击有多种英文名称:buffer overflow,buffer overrun,smash the stack,trash the stack,scribble the stack, mangle the stack, memory leak,overrun screw;它们指的都是同一种攻击手段。第一个缓冲区溢出攻击--Morris蠕虫,发生在1988年,由罗伯特,莫里斯(R ob。rtMorris)制造,它曾造成全世界6000多台网络服务器瘫痪。

计算机程序一般都会使用到一些内存,这些内存或是程序内部使用,或是存放用户的输入数据,这样的内存一般称作缓冲区。溢出是指盛放的东西超出容器容量而溢出来了,在计算机程序中,就是数据使用到了被分配内存空间之外的内存空间。而缓冲区溢出,简单的说就是计算机对接收的输入数据没有进行有效的检测(理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符),向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。

通过往程序的缓冲区写超出其长度的内容,比如定义一个字符串变量,只允许他存储最多15个字符串(IP地址的最大字符数),但用户输入的时候误操作输入了15个以上的字符,加上程序本身没有去校验用户输入的字符数量,而直接存储到这个变量的内存地址空间,就造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。

缓冲区溢出攻击有多种英文名称:buffer overflow,buffer overrun,smash the stack,trash the stack,scribble the stack, mangle the stack, memory leak,overrun screw;它们指的都是同一种攻击手段。第一个缓冲区溢出攻击--Morris蠕虫,发生在1988年,由罗伯特,莫里斯(R ob。rtMorris)制造,它曾造成全世界6000多台网络服务器瘫痪。

计算机程序一般都会使用到一些内存,这些内存或是程序内部使用,或是存放用户的输入数据,这样的内存一般称作缓冲区。溢出是指盛放的东西超出容器容量而溢出来了,在计算机程序中,就是数据使用到了被分配内存空间之外的内存空间。而缓冲区溢出,简单的说就是计算机对接收的输入数据没有进行有效的检测(理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符),向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。

通过往程序的缓冲区写超出其长度的内容,比如定义一个字符串变量,只允许他存储最多15个字符串(IP地址的最大字符数),但用户输入的时候误操作输入了15个以上的字符,加上程序本身没有去校验用户输入的字符数量,而直接存储到这个变量的内存地址空间,就造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。


相关文章

  • 安全漏洞概念及分类
  • 目录 Ⅰ安全漏洞及相关的概念............................................................................................2 一.安全漏洞的定义... ...查看


  • 软件安全期末论文
  • 软件安全开发 一.软件安全开发概况 1.软件安全开发背景 第一次"软件危机"-20世纪60年代,根源:汇编语言不能处理日益庞大和复杂的程序,解决:高级语言的诞生-FORTRAN和C: 第二次"软件危机" ...查看


  • 网络安全技术及应用
  • 基本资料 网络安全技术及应用 作者: 龙冬阳编著 出版社: 出版年: 2006年2月 页数: 定价: 35.5 装帧: ISAN: 内容简介 21世纪计算机科学与技术系列教材(本科):本书主要介绍网络安全技术及其应用,内容包括应用密码技术. ...查看


  • 网络安全问答题
  • 1.网络攻击和防御分别包括哪些内容? 2.从层次上,网络安全可以分成哪几层?每层有什么特点? 3.为什么要研究网络安全? 1.简述OSI参考模型的结构 2.简述TCP/IP协议族的基本结构,并分析每层可能受到的威胁及如何防御. 5.简述常用 ...查看


  • 网络攻防技术复习题
  • 一.选择题(单选) 1.历史上,Morris和Thompson对Unix系统的口令加密函数Crypt()进行了下列哪一种改进措施,使得攻击者在破解Unix系统口令时增加了非常大的难度.(A ) A.引入了Salt机制 B. 引入了Shado ...查看


  • 缓冲区溢出
  • 第29卷 第10期Vol.29 10№ ・ 博士论文・ 计 算 机 工 程Computer Engineering 文章编号:1000-3428(2003)10 0005--03 文献标识码:A 2003年6月 June 2003 中图分类 ...查看


  • 网络攻防实验报告
  • HUNAN UNIVERSITY 课程实习报告 题 目: 网络攻防 学生姓名 李佳 学生学号 [1**********]8 专业班级 指导老师 完 成 日 期 2016/1/3 完成实验总数:13 具体实验:1.综合扫描 2.使用 Micr ...查看


  • 常见黑客攻击手段
  • 常见黑客攻击手段 转自鸿鹄论坛:http://bbs.hh010.com/read.php?tid-29751.html 在上期中列举了很多著名的Windows9x安全缺陷和漏洞.从理论上来讲,这些缺陷和漏洞都可以成为黑客攻击的着手点.但一 ...查看


  • 信息安全三级知识点
  • 第一章:信息安全保障基础 1:信息安全大致发展经历3个主要阶段:通信保密阶段,计算机安全阶段和信息安全保障阶段 2:现代信息安全主要包含两层含义(1)运行系统的安全 (2)完整性,机密性,可用性,可控制性,不可否认性. 3:信息安全产生的根 ...查看


热门内容