CWE

常见的弱点枚举

一个由社区开发的软件&硬件缺陷类型的列表

新CWE吗?点击这里!
CWE最重要的硬件的弱点
CWE最危险的弱点
>CWE列表> CWE -个人字典定义(4.12)
ID

cwe - 566:授权旁路通过用户控制SQL主键

弱点ID: 566
抽象:变体
结构:简单的
视图定制的信息:
的用户感兴趣的更多的概念方面的一个弱点。例如:教育者,技术作家和项目/项目经理。 用户关心的实际应用和细节的本质弱点以及如何预防它的发生。例子:工具开发人员、安全人员、pen-testers事件反应分析师。 对于用户映射一个问题CWE / CAPEC id,即。,找到最合适的CWE为一个特定的问题(例如,CVE记录)。例如:工具开发人员、安全人员。 用户希望看到所有可用的信息CWE / CAPEC条目。 为用户谁想要定制显示细节。
×

编辑自定义过滤器


+描述
产品使用一个数据库表,包括记录不应该访问的一个演员,但它执行一个SQL语句的主键可以控制的演员。
+扩展描述

当一个用户可以设置任何值的主键,然后用户可以修改的关键指未经授权的记录。

数据库访问控制时出现错误:

  • 从一个不可信的源数据输入程序。
  • 数据是用于指定一个主键的值在一个SQL查询。
  • 不受信任的源没有能够访问的权限关联表中的所有行。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 639年 授权旁路通过用户控制的关键
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关视图”架构概念”(cwe - 1008)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1011年 授权的演员
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
架构和设计 委员会:这个弱点是指一个不正确的设计与架构相关的安全策略。
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

技术

数据库服务器(通常是普遍的)

+常见的后果
部分帮助这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 影响 可能性
保密
完整性
访问控制

技术的影响:阅读应用程序数据;修改应用程序数据;旁路保护机制

+示范例子

示例1

下面的代码使用参数化的语句,这逃元字符和防止SQL注入漏洞,建立和执行一个SQL查询,搜索一个发票匹配指定的标识符[1]。所有发票的标识符从列表中选择与当前的身份验证的用户。

(坏的代码)
例如语言:c#

康涅狄格州= new SqlConnection (_ConnectionString);
conn.Open ();
int16 id = System.Convert.ToInt16 (invoiceID.Text);
SqlCommand查询= new SqlCommand (“SELECT *从发票id = @ id ",康涅狄格州);
query.Parameters。AddWithValue (@ id, id);
SqlDataReader objReader = objCommand.ExecuteReader ();

问题是,开发人员没有考虑所有可能的值的id。尽管界面生成一个列表的发票属于当前用户的标识符,攻击者可以绕过这个接口请求任何想要的发票。因为这个示例中的代码不检查,以确保用户权限访问所请求的发票,它将显示任何发票,即使它不属于当前用户。

+潜在的缓解措施

实施阶段:

假设所有的输入是恶意的。使用一个标准的输入验证机制来验证所有输入的长度,类型,语法,和业务规则之前接受数据。使用一个“接受好的“验证策略。

实施阶段:

使用参数化查询,确保接受值符合业务规则。相应的构造SQL语句。
+检测方法

自动静态分析

自动静态分析,通常被称为静态应用程序安全性测试(科协),可以找到一些实例的这个弱点分析源代码或二进制/编译后的代码,而不必执行它。通常情况下,这是通过建立一个模型的数据流和控制流,然后寻找潜在攻击模式,连接“源”与“下沉”(输入)的起源(目的地数据与外部组件交互,较低的层,如操作系统,等等)。

有效性:高

+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 994年 SFP二级集群:受污染的输入变量
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1345年 OWASP 2021年十大类别A01:2021——破碎的访问控制
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1396年 综合分类:访问控制
+脆弱性映射笔记

用法:允许

(CWE ID可以用来映射到现实世界的漏洞)

原因:可接受的使用

理由是:

这个CWE条目是变体的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。

评论:

仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。
+分类法映射
映射分类名称 节点ID 适合 映射节点名
软件故障模式 SFP25 受污染的输入变量
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19
(CWE草案3,2006-07-19)
匿名工具供应商(NDA)
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Potential_Mitigations Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新的关系,Other_Notes Taxonomy_Mappings
2009-07-27 CWE内容团队 主教法冠
Demonstrative_Examples更新,描述、Other_Notes Potential_Mitigations Taxonomy_Mappings
2010-06-21 CWE内容团队 主教法冠
更新描述
2011-03-29 CWE内容团队 主教法冠
更新Applicable_Platforms Demonstrative_Examples,名字
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences
2012-05-11 CWE内容团队 主教法冠
更新的关系
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新Applicable_Platforms Modes_of_Introduction,关系
2020-02-24 CWE内容团队 主教法冠
更新的关系
2021-10-28 CWE内容团队 主教法冠
更新的关系
2023-01-31 CWE内容团队 主教法冠
更新描述
2023-04-27 CWE内容团队 主教法冠
更新Detection_Factors、人际关系
2023-06-29 CWE内容团队 主教法冠
更新Mapping_Notes
+以前的条目名称
改变日期 以前的条目名称
2011-03-29 访问控制旁路通过用户控制SQL主键
页面最后更新:2023年6月29日