允許對系統設置進行外部控制可以導致服務中斷或意外的應用程序行為。
當攻擊者能夠通過控制某些值來監控系統的行為、管理特定的資源、或在某個方面影響應用程序的功能時,就是發生了 Setting Manipulation 漏洞。
由于 Setting Manipulation 漏洞影響到許多功能,因此,對它的任何說明都必然是不完整的。與其在 Setting Manipulation 這一類中尋找各個功能之間的緊密關系,不如往后退一步,考慮有哪些系統數值類型不能由攻擊者來控制。
示例:以下代碼從 Web 表單中讀取一個數值,并將其設置為初始化文件中的超時值。
...
<cfset code = SetProfileString(IniPath,
Section, "timeout", Form.newTimeout)>
...
Form.newTimeout 的值用于指定超時時間,因此攻擊者可以通過指定一個超大數值來發起 denial of service (DoS),從而破壞應用程序的正常運行。 [1] Standards Mapping - OWASP Top 10 2004 - (OWASP 2004) A1 Unvalidated Input
[2] Standards Mapping - Security Technical Implementation Guide Version 3 - (STIG 3) APP3510 CAT I
[3] Standards Mapping - Security Technical Implementation Guide Version 3.4 - (STIG 3.4) APP3510 CAT I
[4] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 15
[5] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 - (PCI 1.2) Requirement 6.3.1.1
[6] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 - (PCI 1.1) Requirement 6.5.1