許多 Web 框架為了開發方便,提供了「大量賦值 (Mass Assignment)」功能,允許開發者將 HTTP 請求中的參數直接、自動地綁定到後端的物件模型上。然而,若未謹慎過濾,這個便利的功能就可能成為嚴重的安全漏洞,讓攻擊者得以竄改他們本不應有權限修改的資料欄位。
在電腦程式中,每種類型的整數(Integer)都有其可以儲存的數值上限與下限。當一個計算的結果超出了這個範圍,就像試圖將兩公升的水裝進一公升的瓶子裡,水滿溢出來了,這就是「整數溢位 (Integer Overflow)」。這種溢位可能導致程式行為異常、崩潰,甚至產生嚴重的安全漏洞。
在設計 API 時,一個常見的錯誤是為了開發方便,將後端的資料庫物件模型 (Entity) 直接序列化後,完整地傳送給前端。這種做法雖然省事,但常常會導致「敏感資料曝露 (Sensitive Data Exposure)」漏洞,即 API 的回應中包含了前端根本不需要、但卻高度敏感的資訊。