漏洞报告模版 - 应用程序未容错漏洞

admin 2022年4月23日01:43:20评论66 views字数 1100阅读3分40秒阅读模式

7.应用程序未容错漏洞

漏洞名称

应用程序未容错漏洞

漏洞地址

https://mirrors.tuna.tsinghua.edu.cn/

漏洞等级

中危

漏洞描述

Web 服务器未能正确处理异常请求导致 Web 服务器版本信息泄露,攻击者收集到服务器信息后可进行进一步针对性攻击。

检测到服务器返回的页面信息中包含数据库错误信息。通过数据库错误信息可以得知后台数据库类型,甚至数据库结构。为进一步 SQL 注入攻击提供有利信息。

漏洞成因

应用程序未屏蔽执行过程中的错误信息,直接抛出了异常。

一般情况下是Web应用程序接收用户输入的信息后,未捕获异常,如:数据类型错误、空值、非法字符造成程序不能继续执行,导致抛出错误信息。

漏洞危害

攻击者收集到服务器信息后可进行进一步针对性攻击,检测到服务器返回的页面信息中包含数据库错误信息,通过数据库错误信息可以得知后台数据库类型,甚至数据库结构,为进一步 SQL 注入攻击提供有利信息。

修复方案

PHP

在页面中添加:

error_reporting(0);

或更改php.ini

display_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。

Tomcat

修改 web.xml,加入如下代码:

<error-page> 
    <error-code>500</error-code> 
    <location>/error.jsp</location> 
</error-page> 

IIS

网站属性”->“主目录”->“应用程序配置”->“调试”,选择“向客户端发送下列文本信息

JSP

1.检查程序中的所有变量,以了解所有预期的参数和值是否存在。当参数缺失导致程序错误时,程序应转向统一的错误页面,不应该抛出未经处理的异常。2.应用程序应验证其输入是否由有效字符组成(解码后)。例如,应拒绝包含空字节(编码为 %00)、单引号、引号等的输入值。3.确保值符合预期范围和类型。如果应用程序预期特定参数具有特定集合中的值,那么该应用程序应确保其接收的值确实属于该集合。例如,如果应用程序预期值在 10-99 范围内,那么就该确保该值确实是数字,且在 10-99 范围内。4.验证数据是否属于提供给客户端的集合。5.请勿在生产环境中输出调试错误消息和异常。

测试过程

向Web应用提交一些恶意字符:

%df %27 %20 ' } ; ) - ../../

一般情况下是Web应用程序接收用户输入的信息后,未捕获异常,如:数据类型错误、空值、非法字符造成程序不能继续执行,导致抛出错误信息。

复测情况

已修复

测试人员

南风向晚

漏洞报告模版 - 应用程序未容错漏洞

 

原文始发于微信公众号(利刃藏锋):应用程序未容错漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月23日01:43:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞报告模版 - 应用程序未容错漏洞http://cn-sec.com/archives/930896.html

发表评论

匿名网友 填写信息