缓冲区溢出攻击原理(缓冲区溢出)
大家好,我是小生,我来为大家解答以上问题。缓冲区溢出攻击原理,缓冲区溢出很多人还不知道,现在让我们一起来看看吧!
1、要知道什么是缓冲区溢出,首先要知道什么是缓冲区,缓冲区,简单说来是一块连续的计算机内存区域, 可以保存相同数据类型的多个实例。
2、 你一定用strcpy拷贝过字符串吧?那,如果拷贝时目的字符串的缓冲区的长度小于源字符串的长度,会发生什么呢?对,源字符串中多余的字符会覆盖掉进程的其它数据。
3、这种现象就叫缓冲区溢出。
4、根据被覆盖数据的位置的不同,缓冲区溢出分为静态存储区溢出、栈溢出和堆溢出三种。
5、而发生溢出后,进程可能的表现也有三种:一是运行正常,这时,被覆盖的是无用数据,并且没有发生访问违例;二是运行出错,包括输出错误和非法操作等;第三种就是受到攻击,程序开始执行有害代码,此时,哪些数据被覆盖和用什么数据来覆盖都是攻击者精心设计的。
6、一般情况下,静态存储区和堆上的缓冲区溢出漏洞不大可能被攻击者利用,而栈上的漏洞则具有极大的危险性。
7、 缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。
8、溢出的数据覆盖在合法数据上。
9、理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。
10、但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。
11、操作系统所使用的缓冲区又被称为堆栈,在各个操作进程之间,指令被临时存储在堆栈当中,堆栈也会出现缓冲区溢出。
12、 当一个超长的数据进入到缓冲区时,超出部分就会被写入其他缓冲区,其他缓冲区存放的可能是数据、下一条指令的指针,或者是其他程序的输出内容,这些内容都被覆盖或者破坏掉。
13、可见一小部分数据或者一套指令的溢出就可能导致一个程序或者操作系统崩溃。
14、 缓冲区溢出是由编程错误引起的。
15、如果缓冲区被写满,而程序没有去检查缓冲区边界,也没有停止接收数据,这时缓冲区溢出就会发生。
16、缓冲区边界检查被认为是不会有收益的管理支出,计算机资源不够或者内存不足是编程者不编写缓冲区边界检查语句的理由,然而摩尔定律已经使这一理由失去了存在的基础,但是多数用户仍然在主要应用中运行十年甚至二十年前的程序代码。
17、 缓冲区溢出之所以泛滥,是由于开放源代码程序的本质决定的。
18、一些编程语言对于缓冲区溢出是具有免疫力的,例如Perl能够自动调节字节排列的大小,Ada95能够检查和阻止缓冲区溢出。
19、但是被广泛使用的C语言却没有建立检测机制。
20、标准C语言具有许多复制和添加字符串的函数,这使得标准C语言很难进行边界检查。
21、C++略微好一些,但是仍然存在缓冲区溢出。
22、一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误,但是,如果输入的数据是经过“黑客”或者病毒精心设计的,覆盖缓冲区的数据恰恰是“黑客”或者病毒的入侵程序代码,一旦多余字节被编译执行,“黑客”或者病毒就有可能为所欲为,获取系统的控制权。
本文到此讲解完毕了,希望对大家有帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
【六英语是什么】“六英语是什么”是一个常见的疑问,尤其在学习英语的学生群体中。这里的“六英语”通常指的...浏览全文>>
-
【六艺是指哪六艺】“六艺”是中国古代教育体系中的核心内容,最早起源于周代,是儒家文化中对士人所应具备的...浏览全文>>
-
【六艺礼乐射御书数指什么】“六艺”是中国古代教育体系中的六种基本才能,起源于周代,是当时士人必须掌握的...浏览全文>>
-
【六艺经传皆通习之的传解释】“六艺经传皆通习之”出自韩愈《师说》一文,原句为:“古之学者必有师。师者,...浏览全文>>
-
【六一完整文案】 六一完整文案六一儿童节,是孩子们欢笑的日子,也是我们回顾童年、珍惜当下的一天。无论是...浏览全文>>
-
【六步走轻松锁定Excel部分单元格】在使用Excel处理数据时,经常需要对某些特定的单元格进行锁定,以防止误操...浏览全文>>
-
【六不一会预防溺水内容是什么】“六不一会”是近年来在防溺水教育中广泛推广的一种安全知识口诀,旨在提高公...浏览全文>>
-
【六驳基础解释是什么】在学习和研究中,“六驳”是一个常见的术语,尤其在哲学、逻辑学或学术讨论中出现频率...浏览全文>>
-
【六驳的基础解释六驳的基础解释是什么】“六驳”的概念在中文语境中并不常见,但结合其字面含义,“六驳”可...浏览全文>>
-
【六驳的基础解释】在古代汉语中,“六驳”是一个较为生僻的词汇,常出现在古籍和文言文中。它并非一个常见的...浏览全文>>
- 六驳基础解释是什么
- 榴莲常温下能放多久
- 刘累的其他释义是什么
- 领带夹怎么使用
- 领带打结怎么打的
- 灵芝排骨汤的做法大全
- 烈火英雄徐小斌结局
- 烈火军校沈听白结局是怎样的
- 辽宁锦州特产有哪些
- 辽宁教师资格证年龄限制吗
- 凉拌西兰花怎么做好吃
- 靶向药物普拉斯替尼 Pralestinib基因检测
- 肿瘤驱动基因的靶向药物
- 【靶向药物】尼拉帕尼通过激活干扰素信号增强抗PD-1抗体的作用
- 【靶向药物】尼拉普利的结构、功能及使用前所需要的检测
- 【靶向药物】BMN_673的药物机理、基因检测及临床治疗效果
- 肿瘤靶向药物索拉非尼使用前后需要什么肿瘤基因检测?
- 肿瘤基因检测指导布吉替尼 brigatinib治疗肺癌
- 宝宝为什么要补充维生素D以及如何补充?
- 免疫力调节性肿瘤术后康复产品——N-乙酰神经氨酸复合片