緩衝區溢位攻擊之一(Buffer Overflow)

緩衝區溢位攻擊之二(Buffer Overflow)



EIP : 指向目前要執行的指令的位址

EBP : Base pointer

ESP : Stack pointer

EBP(base) → ESP(top) : stack的範圍(frame)

stack : 高位址(high) → 低位址(low)

如果輸入的時候沒有檢查長度,可能會覆蓋掉其他stack的地方,導致ret被修改,進而跳到其他位址

當系統呼叫函數時針對 stack :

  1. push 參數
  2. push ret pointer
  3. push frame pointer
  4. 建立 buffer,動態分配函式的 local variable