白盒安全测试系列 之 概述
1.1 前言
Java Web安全测试主要分为黑盒测试和白盒测试,黑盒测试是指测试人员不清楚Web具体的架构和实现,通过模拟一个或者多个攻击角色进行渗透攻击,来发现潜在的漏洞和安全风险,黑盒测试不会泄露Java Web源码或者产品自身的敏感信息,因此第三方安全服务评估机构常常通过黑盒测试评估系统的安全状况。而白盒测试需要提供相关的帮助文档、设计文档、源代码、业务逻辑等信息,在源代码层次进行安全分析,识别可能存在的安全漏洞和安全风险,常常用于公司内部深度的安全测试。
Java Web白盒安全测试就是基于源码进行合规类和漏洞类安全问题分析,本文档将从白盒安全测试流程、白盒安全测试工具、合规类典型问题测试以及典型漏洞测试等几个方面全面介绍白盒安全测试可能发现的问题,以及相应问题的测试思路和测试方法。
1.2 本文目的
本文将Java Web白盒安全测试流程、思路、方法和经典案例进行梳理,帮助安全测试、开发人员快速构建基于源码的白盒安全测试能力。本文涉及的安全问题均是典型合规类问题和典型漏洞类问题,部分特殊场景下的安全问题可能无法包含,希望本文可以起到抛砖引玉的作用,帮助测试人员在具体项目中提高产品安全质量。
1.3 适用范围
本文适用于对公司内标准的Java Web产品进行安全测试。
本文主要是基于源码对相关安全问题进行安全测试指导,黑盒测试可以更加准确、高效发现的安全问题,本文不涉及。
本指导书假定使用人员已具备扎实的Java语言基础,熟悉常见的代码安全问题及相关的安全编码规范。
1.4 使用对象
本文档适合有Java Web源码阅读能力的安全测试人员和开发人员。