UNIX和Windows本身以及其上的许多应用程序都是用C语言编写的,C/C++语言对数组下标访问越界不做检查,是引起缓冲区溢出的根本原因。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区。这称作"缓冲区溢出"。缓冲区溢出大致可分为两类,一类是堆溢出(Heap Overflow),一类是栈溢出(Stack Overflow)。
UNIX和Windows本身以及其上的许多应用程序都是用C语言编写的,C/C++语言对数组下标访问越界不做检查,是引起缓冲区溢出的根本原因。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区。这称作"缓冲区溢出"。缓冲区溢出大致可分为两类,一类是堆溢出(Heap Overflow),一类是栈溢出(Stack Overflow)。
相关文章: