SQL 注入

high Web App Scanning 插件 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

插件详情

严重性: High

ID: 98115

类型: remote

系列: Injection

发布时间: 2017/3/31

最近更新时间: 2024/2/2

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