MySQLjs SQL 插入驗證繞過

high Web App Scanning Plugin ID 113162

概要

MySQLjs SQL 插入驗證繞過

說明

在 SQL 查詢中使用源自用戶端要求的值時,會發生 SQL 插入。通常,已知查詢逸出函式或預留位置可防止 SQL 插入。不過,已知 mysqljs/mysql 針對不同的值類型有不同的逸出方法,當攻擊者傳送具有不同值類型的參數時,它最終可能會造成意外行為。

由於掃描程式能夠繞過驗證機制並存取經驗證的頁面,因此偵測到此插入弱點。

解決方案

呼叫 createConnection 時新增 stringifyObjects 選項,或在執行 SQL 查詢之前新增類型控制項。

另請參閱

https://flattsecurity.medium.com/finding-an-unseen-sql-injection-by-bypassing-escape-functions-in-mysqljs-mysql-90b27f6542b4

https://github.com/mysqljs/mysql

Plugin 詳細資訊

嚴重性: High

ID: 113162

類型: remote

系列: Injection

已發布: 2022/3/1

已更新: 2024/6/5

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