盲目式 SQL 插入 (差異分析)

high Web App Scanning Plugin ID 98117

概要

盲目式 SQL 插入 (差異分析)

說明

由於當今 Web 應用程式的動態內容需求,許多應用程式都依賴資料庫後端來儲存將由 Web 應用程式 (或其他程式) 呼叫和處理的資料。Web 應用程式使用結構化查詢語言 (SQL) 查詢從資料庫擷取資料。

為滿足許多開發人員的需求,資料庫伺服器 (如 MSSQL、MySQL、Oracle 等) 具有其他內建功能,可允許廣泛控制資料庫並與主機作業系統本身互動。

在 SQL 查詢中使用源自用戶端要求的值時,會發生 SQL 插入。這可允許網路攻擊者執行任意 SQL 程式碼並竊取資料,或使用資料庫伺服器的其他功能來控制更多伺服器元件。

成功惡意利用 SQL 插入對於組織而言可能是災難性的,而且是最常遭惡意利用的 Web 應用程式弱點之一。

偵測到此插入是因為掃描程式能夠插入特定的 SQL 查詢,如果有弱點,這會導致每個插入的回應皆不相同。這稱為盲目式 SQL 插入弱點。

解決方案

在維持完整應用程式功能的同時,防止 SQL 插入攻擊的唯一方法是使用參數化查詢 (也稱為準備好的陳述式)。使用此資料庫查詢方法時,用戶端提供的任何值都將作為字串處理,而不是作為 SQL 查詢的一部分處理。
此外,利用參數化查詢時,資料庫引擎會自動檢查以確保所使用的字串符合欄位。例如,如果資料庫欄設定為包含整數,資料庫引擎將檢查使用者提供的輸入是否為整數。

另請參閱

http://projects.webappsec.org/w/page/13246963/SQL%20Injection

http://www.w3schools.com/sql/sql_injection.asp

https://www.owasp.org/index.php/Blind_SQL_Injection

Plugin 詳細資訊

嚴重性: High

ID: 98117

類型: remote

系列: Injection

已發布: 2017/3/31

已更新: 2024/5/16

掃描範本: api, pci, scan

風險資訊

VPR

風險因素: Medium

分數: 6.2

CVSS v2

風險因素: High

基本分數: 9

媒介: CVSS2#AV:N/AC:L/Au:N/C:C/I:P/A:P

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: High

基本分數: 8.6

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

CVSS 評分資料來源: Tenable

參考資訊

CWE: 89

OWASP: 2010-A1, 2013-A1, 2017-A1, 2021-A3

WASC: SQL Injection

CAPEC: 108, 109, 110, 470, 66, 7

DISA STIG: APSC-DV-002540

HIPAA: 164.306(a)(1), 164.306(a)(2)

ISO: 27001-A.14.2.5

NIST: sp800_53-SI-10

OWASP API: 2019-API8

OWASP ASVS: 4.0.2-5.3.4

PCI-DSS: 3.2-6.5.1