CWE

常见的弱点枚举

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

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

cwe - 104: Struts表单Bean不扩展验证类

弱点ID: 104
抽象:变体
结构:简单的
视图定制的信息:
+描述
如果一个表单bean不延长一个验证器的ActionForm子类框架,它可以使应用程序相关的弱点输入验证不足。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 573年 不当的规范由调用者
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“七有害的王国”(cwe - 700)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 20. 不正确的输入验证
+背景细节
为了使用Struts Validator,表单必须扩展以下之一:ValidatorForm, ValidatorActionForm DynaValidatorActionForm, DynaValidatorForm。这些类必须扩展之一,因为Struts验证器关系到应用程序通过实现validate()方法在这些类。形式来源于ActionForm和DynaActionForm类不能使用Struts验证器。
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

Java患病率(待定)

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

技术的影响:其他

绕过验证框架的形式公开应用程序众多类型的攻击。不输入的一个重要组成部分像跨站点脚本漏洞,过程控制和SQL注入。
保密
完整性
可用性
其他

技术的影响:其他

尽管J2EE应用程序通常不容易记忆腐败的攻击,如果一个J2EE应用程序接口与本地代码不执行数组边界检查,攻击者可以在J2EE应用程序中使用一个输入验证错误推出一个缓冲区溢出攻击。
+示范例子

示例1

在下面的Java示例类RegistrationForm Struts ActionForm Bean框架,将维护用户信息的注册网页在线业务的网站。用户将进入注册数据和Struts框架RegistrationForm bean将维护用户数据。

(坏的代码)
例如语言:Java
公共类RegistrationForm org.apache.struts.action延伸。ActionForm {
/ /私有变量登记表
私人字符串名称;
私人字符串邮件;


公共RegistrationForm () {
超级();
}

/ /私有变量的getter和setter方法
}

然而,RegistrationForm类扩展Struts ActionForm类不允许RegistrationForm类使用Struts验证器的功能。当使用Struts框架维护用户数据的ActionForm Bean的类应该扩展的验证器类,ValidatorForm, ValidatorActionForm, DynaValidatorForm或DynaValidatorActionForm。这些确认器类提供自定义的默认验证和验证方法验证Bean对象用于验证输入数据。下面的Java示例展示了RegistrationForm类扩展ValidatorForm类和实现的验证方法验证输入数据。

(好的代码)
例如语言:Java
公共类RegistrationForm org.apache.struts.validator延伸。ValidatorForm {
/ /私有变量登记表
私人字符串名称;
私人字符串邮件;


公共RegistrationForm () {
超级();
}

公共ActionErrors验证(ActionMapping映射,HttpServletRequest请求){…}

/ /私有变量的getter和setter方法
}

注意,ValidatorForm类本身扩展Struts框架内的ActionForm类API。

+潜在的缓解措施

实施阶段:

确保所有形式扩展的一个验证类。
+弱点Ordinalities
Ordinality 描述
(其他弱点的弱点存在独立的)
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 722年 OWASP十大2004类别A1 -用户输入
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 990年 SFP二级集群:污染输入命令
+分类法映射
映射分类名称 节点ID 适合 映射节点名
7有害的王国 Struts:表单Bean不扩展验证类
软件故障模式 SFP24 污染输入命令
+引用
卡特里娜REF-6 Tsipenyuk,布莱恩象棋和加里·麦克格劳博士。“七有害的王国:分类软件安全错误”。NIST研讨会软件安全保障技术和度量工具。NIST的。2005-11-07。<https://samate.nist.gov/SSATTM_Content/papers/Seven%20Pernicious%20Kingdoms%20-%20Taxonomy%20of%20Sw%20Security%20Errors%20-%20Tsipenyuk%20-%20Chess%20-%20McGraw.pdf>。
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19 7有害的王国
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Potential_Mitigations Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新的关系,Other_Notes, Taxonomy_Mappings Weakness_Ordinalities
2008-11-24 CWE内容团队 主教法冠
更新Background_Details、Common_Consequences Other_Notes
2009-03-10 CWE内容团队 主教法冠
更新的关系
2009-12-28 CWE内容团队 主教法冠
更新Common_Consequences Other_Notes
2010-06-21 CWE内容团队 主教法冠
更新Demonstrative_Examples
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences
2012-05-11 CWE内容团队 主教法冠
更新的关系
2012-10-30 CWE内容团队 主教法冠
更新Potential_Mitigations
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新Causal_Nature、人际关系
2020-02-24 CWE内容团队 主教法冠
更新引用关系
2021-07-20 CWE内容团队 主教法冠
更新Background_Details
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日