CWE

常见的弱点枚举

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

2021 CWE最重要的硬件的弱点
CWE最危险的弱点
>CWE列表> CWE -个人字典定义(4.10)
ID

cwe - 838:不适当的上下文编码输出

弱点ID: 838
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品使用或指定一个编码在生成输出到下游组件,但指定的编码是不一样的编码所预期的下游组件。
+扩展描述

这个弱点可能导致下游组件使用一个解码方法产生不同的数据比产品旨在发送。使用错误的编码时,即使密切相关——下游组件可以解码数据不正确。这可以有安全的后果时提供控制和数据之间的界线正无意中打破,因为结果数据可以引入控制字符或特殊元素没有发送的产品。由此产生的数据可以用来旁路保护机制,如输入验证,使注入攻击。

在使用输出编码是至关重要的,以确保组件之间的通信是准确的,使用错误的编码——即使密切相关——可能导致下游组件误解输出。

例如,HTML实体编码用于元素在一个web页面的HTML的身体。然而,程序员可以使用实体编码生成输出时一个属性中使用的HTML标记,这可能包含功能性Javascript并不影响HTML编码。

在web应用程序中最受关注这个问题,这个弱点可能适用于任何类型的产品,使用通信流,可以支持多种编码。

+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 116年 不当的编码或逃避的输出
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“软件开发”(cwe - 699)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 137年 数据中和问题
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+简化映射的相关视图”缺点漏洞发布”(cwe - 1003)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 116年 不当的编码或逃避的输出
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

类:不是特定于语言的患病率(待定)

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

技术的影响:修改应用程序数据;执行未经授权的代码或命令

攻击者可以修改消息的结构或数据被发送到下游组件,可能注入命令。
+示范例子

示例1

这段代码使用POST数据动态地构建一个HTML页面:

(坏的代码)
例如语言:PHP
$ username = $ _POST['用户名');
$ picSource = $ _POST [' picSource '];
$ picAltText = $ _POST [' picAltText '];


<标题>欢迎,“回声”。htmlentities(用户名)美元。”< /名称>”;
< img src = "回声”。htmlentities (picSource美元)。”alt =”。htmlentities (picAltText美元)。’”/ > ';

程序员试图避免XSS攻击(cwe - 79)编码后的值,所以他们不会被解释为有效的HTML。然而,htmlentities()编码时不合适的数据被用作HTML属性,允许更多的属性被注入。

例如,攻击者可以将picAltText设置:

(攻击代码)
“altTextHere onload = '警报(。)”

这将导致图像生成的HTML标记:

(结果)
例如语言:HTML
< img src = " pic.jpg ' alt = ' altTextHere onload =“警报(。)”/ >

攻击者可以注入任意javascript标记由于不正确的编码。

+观察到的例子
参考 描述
服务器不妥善处理要求不包含utf - 8数据;浏览器是utf - 8,允许XSS。
+潜在的缓解措施

实施阶段:

策略:输出编码

使用上下文感知编码。即理解哪些编码被下游组件,并确保使用该编码。如果一个编码可以指定,这样做,而不是假设默认编码是一样的默认假设的下游组件。

阶段:体系结构和设计

策略:输出编码

在可能的情况下,使用通信协议和数据格式,提供严格的控制和数据之间的界线。如果这是不可行的,确保通信协议和格式允许组件来显式地声明的编码/解码方法。一些模板框架提供内置支持。

阶段:体系结构和设计

策略:库或框架

使用审查库或框架不允许这个弱点发生或提供了结构,使这个弱点更容易避免的。

例如,考虑使用ESAPI编码控制(REF-45)或类似的工具、库或框架。这些将帮助程序员编码输出的方式不容易错误。

注意,一些模板机制提供内置支持适当的编码。

+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 845年 CERT甲骨文安全Java编码标准(2011)第二章-输入验证和数据卫生处理(IDS)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 867年 2011年处于25 -弱点
MemberOf 视图视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 884年 CWE横截面
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1138年 SEI CERT甲骨文安全编码标准Java - 04指导方针。字符和字符串(STR)
+分类法映射
映射分类名称 节点ID 适合 映射节点名
CERT甲骨文安全Java编码标准(2011) IDS13-J 两侧使用兼容的编码文件或网络IO
+引用
(ref - 786)吉姆Manico。“Injection-safe模板语言”。2010-06-30。<http://manicode.blogspot.com/2010/06/injection-safe-templating-languages_30.html>。
(ref - 787) Dinis克鲁斯。“我们可以请停止说XSS是乏味和容易修复!”。2010-09-25。<http://diniscruz.blogspot.com/2010/09/can-we-please-stop-saying-that-xss-is.html>。
伊凡Ristic (ref - 788)。“独木舟:XSS预防通过环境敏感输出编码”。2010-09-24。<http://blog.ivanristic.com/2010/09/introducing-canoe-context-aware-output-encoding-for-xss-prevention.html>。
(ref - 789)吉姆Manico。“什么是自动化XSS防御工具的未来?”。2011-03-08。<http://software - security.sans.org/downloads/appsec - 2011 files/manico appsec tools.pdf——未来>。
[ref - 709]耶利米格罗斯曼,罗伯特“RSnake”汉森,佩特科维奇pdp d . Petkov,安东愤怒和赛斯Fogie。“XSS攻击”。防止XSS攻击。Syngress》2007。
OWASP (ref - 725)。“基于DOM的XSS预防备忘单”。<http://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet>。
REF-45 OWASP。“OWASP企业安全API (ESAPI)项目”。<http://www.owasp.org/index.php/ESAPI>。
+内容的历史
+提交
提交日期 提交者 组织
2011-03-24 CWE内容团队 主教法冠
+修改
修改日期 修饰符 组织
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences、关系、Taxonomy_Mappings
2011-06-27 CWE内容团队 主教法冠
更新Demonstrative_Examples Related_Attack_Patterns,关系
2012-05-11 CWE内容团队 主教法冠
更新Potential_Mitigations、引用关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新引用,Taxonomy_Mappings
2019-01-03 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2019-06-20 CWE内容团队 主教法冠
更新的关系
2020-02-24 CWE内容团队 主教法冠
更新的关系
2023-01-31 CWE内容团队 主教法冠
更新描述
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日