堆栈缓冲区溢出是指当程序进入计算机的内存时,超出所分配的空间。在某些情况下,这可能会损坏内存中的其他数据,从而导致计算机运行出现问题。在其他情况下,恶意应用程序可利用堆栈缓冲区溢出进行控制计算机的其他部分。...
堆栈缓冲区溢出是指当程序进入计算机的内存时,超出所分配的空间。在某些情况下,这可能会损坏内存中的其他数据,从而导致计算机运行出现问题。在其他情况下,恶意应用程序可利用堆栈缓冲区溢出进行控制计算机的其他部分。

与计算机进行倒立的女人从堆栈缓冲区中取名字溢出首先来源于堆栈,堆栈是一个有效的活动列表,其中的数据被组织起来:这个术语来自于物理项的堆积。其中的一个版本,调用堆栈,是计算机程序用来跟踪程序各个部分的列表,子例程,由于调用堆栈是临时运行的,需要快速访问,因此它位于计算机的内存中,而不是位于硬盘驱动器之类的永久存储器中由于现代操作系统允许同时运行多个程序,因此需要组织内存分配的方式,包括调用堆栈,存储器中的一种空间,设计得足够大,可以处理某个缓冲区所需的最大空间。在大多数情况下,有些空间是不可用的,因此它在不同应用程序的数据之间充当缓冲区,以便在突然需要额外的空间时可以处理一种将其形象化的方法是设想一个图书馆为每个学科领域分配一定的空间,确保留出一些额外的空间来应付,例如,一个主题的所有书籍同时都在图书馆,而不是其中任何一本被借出当程序以超出分配的空间的方式将调用堆栈数据写入缓冲区时,就会发生堆栈缓冲区溢出。这可能是由于程序中的错误造成的。例如,如果应用程序设计为允许用户键入电话号码,但对输入的字符数没有限制,黑客可能会使用无限字段故意造成堆栈缓冲区溢出。这可能会使黑客间接访问另一个应用程序或操作系统本身,这取决于操作系统的工作方式有几种方法可以减轻堆栈缓冲区溢出的影响。其中一种方法被称为地址空间布局随机化。它以随机的方式排列计算机上最重要的数据区域。其思想是即使黑客确实导致或利用堆栈缓冲区溢出,他将无法可靠地利用该漏洞。