MySQLjs SQL 注入验证绕过

high Web App Scanning 插件 ID 113162

简介

MySQLjs SQL 注入验证绕过

描述

如果未事先审查客户端请求中的值便将其用于 SQL 查询,就会发生 SQL 注入。通常,已知查询转义函数或占位符可以防止 SQL 注入。然而,已知 mysqljs/mysql 对不同的值类型具有不同的转义方法,当攻击者传递具有不同值类型的参数时,最终可能导致意外行为。

此注入是在扫描程序能够绕过验证机制并访问经验证的页面时检测到的。

解决方案

在执行 SQL 查询之前调用 createConnection 或添加类型控制时,可添加 stringifyObjects 选项。

另见

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

https://github.com/mysqljs/mysql

插件详情

严重性: High

ID: 113162

类型: remote

系列: Injection

发布时间: 2022/3/1

最近更新时间: 2025/1/29

扫描模板: 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

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:L/SI:L/SA: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