小知识:何谓缓冲区溢出

     简单的说就是程序对接受的输入数据没有进行有效的检测导致错误,后果可能造成程序崩溃或者是执行攻击者的命令。

  UNIX和Windows本身以及其上的许多应用程序都是用C语言编写的,C/C++语言对数组下标访问越界不做检查,是引起缓冲区溢出的根本原因。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区。这称作"缓冲区溢出"。缓冲区溢出大致可分为两类,一类是堆溢出(Heap Overflow),一类是栈溢出(Stack Overflow)。
posted @ 2009-12-23 09:47  唔愛吃蘋果  阅读(360)  评论(0编辑  收藏  举报