![缓冲区溢出](https://i.ytimg.com/vi/86iwzaULZ5g/hqdefault.jpg)
内容
- 定义-缓冲区溢出是什么意思?
- Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。
- Techopedia解释了缓冲区溢出
定义-缓冲区溢出是什么意思?
当写入缓冲区的数据超出其容纳量时,就会发生缓冲区溢出。多余的数据将被写入相邻的内存,从而覆盖该位置的内容,并在程序中导致不可预测的结果。如果验证不当(在写入数据之前没有任何限制),就会发生缓冲区溢出。这被认为是软件中的错误或弱点。
Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。
Techopedia解释了缓冲区溢出
攻击者可以通过注入专门针对导致数据集的初始部分导致缓冲区溢出的代码,然后将其余数据写入与溢出缓冲区相邻的内存地址,来利用缓冲区溢出错误。溢出数据可能包含可执行代码,这些代码使攻击者可以运行更大,更复杂的程序,或者授权自己访问系统。
缓冲区溢出是攻击者可以利用的最严重的错误之一,主要是因为很难找到和修复它,尤其是如果该软件包含数百万行代码的情况下。即使是这些错误的修复程序也相当复杂且容易出错。这就是为什么几乎不可能完全消除这种类型的错误。
尽管所有程序员都知道其程序中缓冲区溢出的潜在威胁,但无论已经执行了多少修复程序,新软件和旧软件中仍然存在很多与缓冲区溢出相关的威胁。