Skip to content
所有標籤

#memory-safety

1 篇文章

多寫幾個字元,為什麼可能讓別人控制程式:緩衝區溢位入門

緩衝區溢位是資料寫過了預留空間的邊界,蓋到隔壁的東西。教學範例裡,名字多寫一個字元就讓 is_admin 從 0 變成 65;修法是檢查長度並改用限制長度的函式。canary、ASLR、NX 是補強而不是保證,AddressSanitizer 能抓到獨立陣列的溢位,但我實測抓不到同一個 struct 內的欄位溢位。