簡單的說就是程序?qū)邮艿妮斎霐?shù)據(jù)沒有進(jìn)行有效的檢測導(dǎo)致錯(cuò)誤,后果可能造成程序崩潰或者是執(zhí)行攻擊者的命令,。
UNIX和Windows本身以及其上的許多應(yīng)用程序都是用C語言編寫的,,C/C++語言對數(shù)組下標(biāo)訪問越界不做檢查,是引起緩沖區(qū)溢出的根本原因,。在某些情況下,,如果用戶輸入的數(shù)據(jù)長度超過應(yīng)用程序給定的緩沖區(qū),就會覆蓋其他數(shù)據(jù)區(qū),。這稱作"緩沖區(qū)溢出",。緩沖區(qū)溢出大致可分為兩類,一類是堆溢出(Heap Overflow),,一類是棧溢出(Stack Overflow),。
|