Web安全测试指南--信息泄露
5.4.1、源代码和注释:
编号 | Web_InfoLeak_01 |
用例名称 | 源代码和注释检查测试 |
用例描述 | 在浏览器中检查目标系统返回的页面是否存在敏感信息。 |
严重级别 | 中 |
前置条件 | 1、 目标web应用可访问,业务正常运行。 2、 已明确定义出敏感数据范围(比如口令、邮件和IP等)。 |
执行步骤 | 1、 使用正确账户名和密码登录目标系统。 2、 访问待测试页面。 3、 在页面上点击右键,选择“查看源文件”。 4、 仔细检查源文件的源码和注释是否存在定义范围的敏感数据,比如: <!-- the DB administrator password: f@keP@a$$w0rD --> |
预期结果 | 源文件中没有发现敏感数据。 |
测试结果 |
|
备注 | 本用例亦可以使用人工结合自动化的方式减少工作量,即先定义敏感数据范围,然后使用http代理或者爬虫在http响应中匹配敏感数据。比如: l 可以在http响应中使用正则匹配邮件、IP等敏感数据。 l 可以搜集一组常用的关键字,比如:password,或者开发人员常用的密码(可以向开发人员获取),并在http响应中进行匹配。 但人工审计有时候有时候会有意外发现,可根据实际需求执行。 |
5.4.2、日志审计:
编号 | Web_InfoLeak_02 |
用例名称 | 日志审计测试 |
用例描述 | 审计日志是否记录敏感数据。 |
严重级别 | 中 |
前置条件 | 1、 目标web应用可访问,业务正常运行。 2、 目标系统存在日志系统。 3、 拥有访问日志的权限。 4、 已明确定义出敏感数据范围(比如口令、短信验证码和session id等)。 |
执行步骤 | 1、 获取web服务器或各种应用日志。 2、 打开search and replace,在“路径”选项中定位存放日志的目录。 3、 在“搜索”栏中输入定义好的敏感数据关键字,比如:password、开发常用的密码等等。 4、 检查搜索出来的结果是否存在敏感数据(比如:口令,session id等)。 5、 使用文本编辑软件(比如:notepad)分别打开各个日志文件,并仔细检查是否存在敏感数据。 |
预期结果 | 日志中没有发现敏感数据。 |
测试结果 |
|
备注 | 步骤3同样可以使用程序自动匹配。但search and replace有更加直观的上下文进行误报排查,并且人工审计往往有意外发现,建议使用此方式。 |