SQL 插入

high Web App Scanning Plugin ID 98115

概要

SQL 插入

說明

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

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

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

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

掃描程式能夠造成伺服器以資料庫相關錯誤回應要求,因此偵測到此插入。

解決方案

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

另請參閱

http://en.wikipedia.org/wiki/SQL_injection

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

http://unixwiz.net/techtips/sql-injection.html

http://www.securiteam.com/securityreviews/5DP0N1P76E.html

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

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

Plugin 詳細資訊

嚴重性: High

ID: 98115

類型: remote

系列: Injection

已發布: 2017/3/31

已更新: 2024/2/2

掃描範本: api, full, pci, scan

風險資訊

VPR

風險因素: High

分數: 7.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

CVSS v4

風險因素: High

Base Score: 7.2

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N

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