不適當的輸入驗證

不適當輸入驗證(Improper input validation)[1]未檢查使用者輸入(unchecked user input)是软件中可能會被利用漏洞[2]。此漏洞是指「程式沒有驗證(或是以不正確方式驗證)可能會影響程式資料流或是控制流的輸入。」[1]

例子包括有:

  • 缓冲区溢出:在缓冲区寫入超過缓冲区大小的資料,因此覆蓋到其他的記億體。
  • 跨網站指令碼:在網頁中注入惡意的程式碼,其他人閱讀網站時會受到影響。
  • 目录遍历:利用程式的缺陷,可以存取授權目錄以外的目錄。
  • 空字元注入
  • SQL注入:在輸入字串中架帶SQL指令,使程式執行這些SQL指令。
  • 不受控格式化字串英语Uncontrolled format string:利用printf中的格式化字串,讀取其他位置的資料。

參考資料

  1. ^ 1.0 1.1 CWE-20: Improper Input Validation. Common Weakness Enumeration. MITRE. 2010-12-13 [2011-02-22]. (原始内容存档于2011-07-23). 
  2. ^ Erickson, Jon. Hacking: the art of exploitation. No Starch Press Series 2, illustrated. Safari Books Online. 2008. ISBN 978-1-59327-144-2.