MySQLjs SQL インジェクション認証バイパス

high Web App Scanning プラグイン 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

プラグインの詳細

深刻度: 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