连接数据库的账号密码加密测试
编号 | Web _01 |
测试用例名称 | 连接数据库的帐号密码加密测试 |
测试目的 | 连接数据库的帐号密码在配置文件中如果明文存储,容易被恶意维护人员获取,从而直接登陆后台数据库进行数据篡改。 |
用例级别 | 一级 |
测试条件 | 1、拥有Web服务器操作系统的帐号和口令 2、已知连接数据库的帐号密码所在的配置文件,可以找环境搭建人员咨询。(还可以用grep命令查找哪些xml文件包含该数据库帐号,然后打开这些文件进行检查) |
执行步骤 |
|
预期结果 | 连接数据库的帐号密码在配置文件中加密存储 |
备注 | |
测试结果 |
客户端源代码敏感信息测试
编号 | Web _02 |
测试用例名称 | 客户端源代码敏感信息测试 |
测试目的 | Web页面的html源代码中不允许包含口令等敏感信息,特别关注修改口令、带有星号口令的Web页面。 |
用例级别 | 一级 |
测试条件 | 1、已知Web网站地址 2、Web业务正常运行 3、待测页面能够正常访问 |
执行步骤 |
|
预期结果 | 在页面的源代码中看不到明文的口令等敏感信息 |
备注 | |
测试结果 |
客户端源代码注释测试
编号 | Web _03 |
测试用例名称 | 客户端源代码注释测试 |
测试目的 | 开发版本的Web程序所带有的注释在发布版本中没有被去掉,而导致一些敏感信息的泄漏。我们要查看客户端能看到的页面源代码并发现此类安全隐患。 |
用例级别 | 一级 |
测试条件 | 1、已知Web网站地址 2、Web业务正常运行 3、待测页面能够正常访问 |
执行步骤 |
|
预期结果 | 源代码里不存在敏感信息(比如:内网IP地址、SQL语句、密码、物理路径等)。 |
备注 | |
测试结果 |
异常处理
在这个部分我们通过构造各种异常的条件让Web程序处理,通过其返回信息来判断是否存在信息泄漏的问题。
-
不存在的URL
编号 | Web _04 |
测试用例名称 | 不存在的URL |
测试目的 | Web网站在处理用户提交的不存在的URL时会返回错误信息,我们通过返回的错误信息来确认是否会有敏感信息的泄漏问题。 |
用例级别 | 一级 |
测试条件 | 1、已知Web网站地址,假设为:http://www.example.com 或 IP:http://aa.bb.cc.dd 2、Web业务运行正常 |
执行步骤 |
|
预期结果 | 返回的页面中没有敏感信息。 |
备注 | 在各个目录和功能模块重复此操作 |
测试结果 |
-
非法字符
编号 | Web _05 |
测试用例名称 | 非法字符导致信息泄漏 |
测试目的 | Web应用在处理用户提交的含有特殊字符的URL时,可能会返回错误的信息,通过错误信息来判断是否存在敏感信息的泄漏问题。 |
用例级别 | 一级 |
测试条件 | 1、 已知Web网站地址 2、 Web业务正常运行 3、 如果是IE浏览器,在Internet选项->高级里把“显示友好HTTP信息”去掉选择状态 4、已知待测目标URL,假设为http://www.example.com/page.xxx 待测目标存在参数输入,假设为name=value,即: http://www.example.com/page.xxx?name= value |
执行步骤 |
|
预期结果 | 返回的页面中没有敏感信息(比如:详细的类名、方法,SQL语句,物理路径等)。 |
备注 | 页面可能接受多个参数,需对每个参数都进行测试 POST情况下的参数也需要测试 |
测试结果 |
-
逻辑错误
Web应用在处理一些具有逻辑错误的请求时,可能会返回错误的信息,通过返回的错误信息来确认是否会有敏感信息的泄漏问题。本测试无法给出很具体的测试指导,只能给出相应的描述说明,那就是:尽可能的尝试使用违背业务逻辑处理的参数来让Web应用返回异常信息。
不安全的存储
本测试无法给出很具体的测试指导,在测试中可以根据下列方法进行测试:
- 上传文件所在的目录(或者是临时目录)能否直接远程访问。
- 服务器配置文件目录或日志存放目录能否直接访问。
- 日志或数据库中是否能够看到明文敏感信息:Web应用一般都会对一些业务操作进行记录日志操作。在日志文件中很可能包含了一些敏感信息(例如用户在更改口令后日志文件中会记录该用户原始口令以及更改后的口令信息)。假如Web应用的日志存放的目录被攻击者发现(符合上一条测试项),那么攻击者就可以从中获取大量的敏感数据用户后续的攻击。因此,本测试需要对日志文件中的数据进行调查,检查其中是否带有敏感数据或者敏感数据进行了加密处理。同样对于数据库也述要进行审查。