不適當輸入驗證(Improper input validation)[1]或未檢查使用者輸入(unchecked user input)是软件中可能會被利用的漏洞[2]。此漏洞是指「程式沒有驗證(或是以不正確方式驗證)可能會影響程式資料流或是控制流的輸入。」[1]
例子包括有:
- 缓冲区溢出:在缓冲区寫入超過缓冲区大小的資料,因此覆蓋到其他的記億體。
- 跨網站指令碼:在網頁中注入惡意的程式碼,其他人閱讀網站時會受到影響。
- 目录遍历:利用程式的缺陷,可以存取授權目錄以外的目錄。
- 空字元注入
- SQL注入:在輸入字串中架帶SQL指令,使程式執行這些SQL指令。
- 不受控格式化字串:利用printf中的格式化字串,讀取其他位置的資料。
參考資料