<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>
    煙雨

    造成緩沖區溢出漏洞的原因有什么

    分享
  • 帥末 2
    帥末2

    造成緩沖區溢出漏洞的原因有以下這些:

    • 函數調用層次太深:函數遞歸調用時,系統要在棧中不斷保存函數調用時的現場和產生的變量,如果遞歸調用太深,就會造成棧溢出,這時遞歸無法返回。再有,當函數調用層次過深時也可能導致棧無法容納這些調用的返回地址而造成棧溢出漏洞;

    • 動態申請空間使用之后沒有釋放:由于C語言中沒有垃圾資源自動回收機制,因此,需要程序主動釋放已經不再使用的動態地址空間。申請的動態空間使用的是堆空間,動態空間使用不會造成堆溢出漏洞;

    • 數組訪問越界:C語言沒有提供數組下標越界檢查,如果在程序中出現數組下標訪問超出數組范圍,在運行過程中可能會內存訪問錯誤;

    • 指針非法訪問:指針保存了一個非法的地址,通過這樣的指針訪問所指向的地址時會產生內存訪問錯誤;

  • 寫回答
    亚洲 欧美 自拍 唯美 另类