破坏性测试禁区
破坏性动作禁区是渗透测试里最硬的边界:删除或篡改业务数据、重启生产服务、植入文件或账号、提权后长期驻留,一律不做。验证深度止于证明可能性——能说明此处输入会被拼进系统命令并执行,就不需要真的执行一条写入命令;能说明上传目录可被解析,就不需要真的上传一个可用脚本。这个边界不是保守,而是专业:事故往往发生在再确认一下的那一步。测试不可避免地会引入临时文件、测试账号与测试数据,这些必须在项目结束前清理干净并核对,任何残留都是新的安全隐患。
基本信息
| 禁止动作 | 删改业务数据、重启服务、植入任何程序 |
|---|---|
| 验证边界 | 以读取与比对为主,写入仅在测试环境且获授权时 |
| 验证深度 | 证明可能性即可,不做到底 |
| 残留处置 | 测试引入的临时文件、账号、数据必须清理并核对 |
| 例外 | 确需验证时在隔离环境模拟,禁止在生产进行 |
典型使用场景
- 命令注入:验证分隔符解析差异,不做实际读写与外联
- 文件上传:验证类型限制,上传测试文本文件而非脚本
- 提权类问题:验证权限映射,不执行提权后的持久化动作
- 持久化风险:只读核对现有任务配置,不新增任务
- 数据删除类问题:以机制分析说明,不实际删除记录
验证深度示例
验证深度示例
# 命令注入:验证分隔符解析差异(无害回显)
# 上传:验证类型限制(传测试文本文件,随后删除)
# 提权:验证权限映射(不执行提权后动作)
# 持久化:只读核对现有配置,不新增任务或账号
# 收尾:逐项清理临时文件、账号与测试数据禁止动作与替代方案
| 禁止动作 | 风险 | 替代方案 |
|---|---|---|
| 删除或篡改业务数据 | 数据不可恢复 | 用机制分析或测试环境复现 |
| 重启或停止生产服务 | 业务中断 | 只读核对服务配置与启动方式 |
| 植入文件或后门 | 长期安全隐患 | 上传无害文件验证限制后立即删除 |
| 新建账号或计划任务 | 权限扩散 | 只读核对现有账号与任务列表 |
| 提权后驻留 | 失控风险 | 验证权限映射即可,不执行后续动作 |
能证明与做到底之间的差距,就是专业与事故的差距。生产环境的任何写入动作都要先获授权、先评估后退路。
测试引入的临时对象要建立清单:什么时候创建、在哪里创建、由谁清理、是否核对完成,四项都要留痕。