一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就来谈谈关于软件测试中的“消息泄漏测试”。
消息泄漏测试主要是测试系统泄露敏感信息的风险。敏感信息包括数据库连接地址、账号和口令等信息,服务器系统信息,Web 服务器软件名称、版本,Web 网站路径,除html 之外的源代码,业务敏感数据等。
主要包括以下几方面内容:
数据库账号密码测试。
客户端源代码敏感信息测试。
客户端源代码注释内容测试。
异常测试。
不安全的存储测试。
Web 服务器状态信息测试。
HappyAxis.jsp 页面测试。
(1)数据库账号密码测试。
测试连接数据库的账号密码在配置文件中是否以明文方式存储,如果是,就很容易被恶意维护人员获取,从而直接登录后台数据库进行数据篡改。
测试时找到连接数据库的账号密码所在的配置文件,查看配置文件中的账号密码是否被加密。
(2)客户端源代码敏感信息测试。
客户端源代码敏感信息测试主要是测试Web 页面的HTML 源代码中是否包含口令等敏感信息,特别关注修改口令、带有星号口令的Web 页面。
测试进入一个有敏感信息的页面(如带有修改口令的页面),单击右键查看源文件,源文件中不应包含明文的口令等敏感信息。
(3)客户端源代码注释内容测试。
如果开发版本的Web 程序所带有的注释在发布版本中没有被去掉,也可能会导致一些敏感信息泄漏,测试时应该注意页面源代码中是否存在此类安全隐患。
测试进入一个有敏感信息的页面(如带有修改口令的页面),单击右键,查看源文件中有关注释信息是否包含明文的口令等敏感信息。
(4)异常测试。
异常测试主要是通过构造一些异常的条件来访问Web 系统,观察其返回的信息来判断系统是否存在信息泄漏的问题。通常异常处理包括三种情况:不存在的URL、非法字符和逻辑错误。
1)不存在的URL 主要是测试当客户提交不存在的URL 时,Web 系统返回的信息,观察返回信息中是否包含敏感信息。例如输入一个不存在的URL(http://192.168.3.9/unexist.jsp),观察返回的错误信息中是否包含敏感信息。
2)非法字符导致信息泄漏是指,当用户提交包含特殊字符的URL 时,Web 系统可能返回错误的信息,通过错误信息来判断是否存在敏感信息的泄漏问题。测试时在正常的URL 的参数中添加特殊字符%、*、;、’、?,如以下URL:
http://www.exmaple.com/page.xxx?name= value%
http://www.exmaple.com/page.xxx?name= value*
观察返回的信息,返回信息中不应包含敏感信息。
3)逻辑错误是指Web 应用在处理一些具有逻辑错误的请求时,可能会返回错误的信息,通过返回的错误信息来确认是否有敏感信息的泄漏问题。测试时根据详细说明书,尽可能地尝试使用违背业务逻辑处理的参数来访问Web 系统并观察Web 系统返回的异常信息。
(5)不安全的存储测试。
不安全的存储测试主要是测试存储在服务器上的配置文件、日志、源代码等是否存在漏洞,该项测试没有具体的指导方法,测试时主要关注以下几个问题:
上传文件所在的目录(包括临时目录)能否被直接远程访问。
服务器配置文件目录或日志所存放的目录能否被直接访问。
? 公用文件头(如数据库链接信息、源代码头文件等)是否采用不被服务器处理的后缀(如inc 作为文本格式直接输出)进行存储。
? 在日志或数据库中是否能查找到明文的敏感信息。
(6)Web 服务器状态信息测试。
Web 服务器状态信息测试主要是测试Web 服务器默认提供的服务器状态信息查询功能,是否会泄漏系统信息,进而存在被攻击的可能性。测试时进入Web服务器状态信息页面http://192.168.1.9/status?full=true,观察页面返回的信息,检查页面中是否包含服务器的敏感信息。
注意:该方法适用于Tomcat 和JBoss 服务器。
(7)HappyAxis.jsp 页面测试。
HappyAxis.jsp 页面测试主要是测试HappyAxis.jsp 页面中是否存在一些服务器的敏感信息。对于使用Axis 来发布的Web Service,默认是保存HappyAxis.jsp 页面。测试步骤如下:
步骤1:登录Web 服务器的操作系统。
步骤2:在系统中查找HappyAxis.jsp 文件。
步骤3: 使用查找到的目录信息来构造访问HappyAxis.jsp 页面的URL,并进行访问,如http://192.168.1.9/axis3/happyaxis.jsp。
如果能正常访问HappyAxis.jsp 文件,说明系统存在漏洞。
今天关于“软件测试中的消息泄漏测试”的内容就给大家讲解到这里,希望对做这些工作的小伙伴有帮助~欢迎大家每天和我一起学习更多涨薪技能哦。