CWE-7: J2EE错误配置:失踪的自定义错误页面
描述
一个web应用程序的默认错误页面不能显示产品的敏感信息。
扩展描述
一个Web应用程序必须定义一个默认的错误页面4 xx错误(例如404),5 xx(例如500)错误和捕捉. lang。Throwable异常,防止攻击者矿业信息从应用程序容器内置的错误响应。
当攻击者探索一个网站寻找漏洞,网站提供的信息量是至关重要的最终成功或失败的任何企图攻击。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
|
可能会显示堆栈跟踪攻击者一个畸形的SQL查询字符串,正在使用的数据库类型和版本的应用程序容器。这些信息使攻击者针对已知的漏洞在这些组件。 |
|
示范例子
示例1
在下面的代码片段中,一个不受控制的从try块中抛出运行时异常可能导致容器来显示其默认错误页面(可能包含一个完整的堆栈跟踪,等等)。
公共空间doPost (HttpServletRequest请求,HttpServletResponse响应)抛出ServletException, IOException {
尝试{
… }捕捉(ApplicationSpecificException ase) {
记录器。错误(“抓住:“+ ase.toString ()); } }
潜在的缓解措施
实施阶段:
适当地处理异常的源代码。 |
阶段:实施;系统配置
总是定义适当的错误页面。应用程序配置应该指定一个默认的错误页面,以确保应用程序不会泄漏攻击者的错误消息。处理标准HTTP错误代码是有用的和用户友好的除了良好的安全实践,和良好的配置也会定义一个最后的错误处理程序捕获抛出的任何异常可能是应用程序。 |
实施阶段:
不要试图流程错误或试图掩盖它。 |
实施阶段:
检查返回值是正确的,不供应系统的敏感信息。 |
会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
7有害的王国 |
|
|
J2EE错误配置:失踪的错误处理 |
引用
|
(ref - 65) m·霍华德·d·勒布朗和j . Viega。“软件安全的19宗罪”。麦格劳-希尔/奥斯本。2005-07-26。 |
|