Blind SQL Injection (timing attack)

high Web App Scanning Plugin ID 98118

概要

Blind SQL Injection (timing attack)

說明

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

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

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

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

此插入被偵測到,因為掃描器能夠插入特定 SQL 查詢,如果有弱點,會導致每個要求的回應在伺服器傳送之前延遲。這稱為時間型盲目式 SQL 插入弱點。

解決方案

在維持完整應用程式功能的同時,防止 SQL 插入攻擊的唯一方法是使用參數化查詢 (也稱為準備好的陳述式)。When utilising this method of querying the database, any value supplied by the client will be handled as a string value rather than part of the SQL query.
此外,利用參數化查詢時,資料庫引擎會自動檢查以確保所使用的字串符合欄位。例如,如果資料庫欄設定為包含整數,資料庫引擎將檢查使用者提供的輸入是否為整數。

另請參閱

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: 98118

類型: remote

系列: Injection

已發布: 2017/3/31

已更新: 2023/2/8

掃描範本: 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