不適當的輸入驗證
不適當輸入驗證(Improper input validation)[1]或未檢查使用者輸入(unchecked user input)是软件中可能會被利用的漏洞[2]。此漏洞是指「程式沒有驗證(或是以不正確方式驗證)可能會影響程式資料流或是控制流的輸入。」[1]
例子包括有:
- 缓冲区溢出:在缓冲区寫入超過缓冲区大小的資料,因此覆蓋到其他的記億體。
- 跨網站指令碼:在網頁中注入惡意的程式碼,其他人閱讀網站時會受到影響。
- 目录遍历:利用程式的缺陷,可以存取授權目錄以外的目錄。
- 空字元注入
- SQL注入:在輸入字串中架帶SQL指令,使程式執行這些SQL指令。
- 不受控格式化字串:利用printf中的格式化字串,讀取其他位置的資料。
參考資料
- ^ 1.0 1.1 CWE-20: Improper Input Validation. Common Weakness Enumeration. MITRE. 2010-12-13 [2011-02-22]. (原始内容存档于2011-07-23).
- ^ Erickson, Jon. Hacking: the art of exploitation. No Starch Press Series 2, illustrated. Safari Books Online. 2008. ISBN 978-1-59327-144-2.