拒绝服务类测试禁止事项
拒绝服务类测试(含高并发压测、资源耗尽验证、连接数打满)在渗透测试中默认禁止:这类动作的目标就是让服务不可用,与不影响业务连续性的基本约束直接冲突,一旦失手就是真实事故。确有压力测试需求时,应作为独立项目在隔离环境进行,单独授权、单独窗口、单独监控。渗透测试中如果发现可能被资源耗尽的点(例如无限制的上传大小、无分页的导出接口),不必真的打满——用最小请求确认机制存在,记录触发条件与推理过程,在报告中标注风险与验证限制即可。
基本信息
| 默认立场 | 渗透测试不做 DoS 类动作 |
|---|---|
| 禁止动作 | 高并发压测、资源耗尽验证、连接数打满 |
| 替代表达 | 用机制分析与最小请求说明风险,不做实测压满 |
| 例外 | 独立压测项目 + 隔离环境 + 单独授权 |
| 记录要求 | 触发条件、验证限制、未实测原因都要写明 |
典型使用场景
- 无限上传:发现上传大小未限制,用机制说明风险而非传大文件
- 无分页导出:导出接口可全量拉取,记录并推理而非实际拉满
- 放大接口:能触发放大效应的接口,用最小请求确认机制
- 登录接口:无锁定策略,说明暴力破解风险而非真实爆破
- 独立压测项目:单独立项,在隔离环境评估承载能力
替代做法
替代做法
# 发现可能 DoS 的点:
# 记录触发条件(不实际打满)
# 用最小请求验证机制存在
# 在报告中标注风险与验证限制
# 如需实测,另行立项在隔离环境进行风险点与替代验证
| 风险点 | 不做的动作 | 替代做法 |
|---|---|---|
| 上传大小无限制 | 上传超大文件耗尽磁盘 | 查看配置与机制,说明风险 |
| 导出无分页 | 触发全量导出拉满数据库 | 用极小数据量确认接口行为 |
| 登录无锁定 | 真实爆破尝试 | 说明机制缺失,不实际爆破 |
| 递归接口 | 构造深层递归耗尽资源 | 分析调用链与限制条件 |
| 连接数无上限 | 并发打满连接池 | 读取连接池配置并推理 |
证明可能被打死不需要真的把业务打死:把风险沟通清楚,比冒一次事故的代价划算得多。
只压 10 秒也是压测;把压测脚本当作漏洞验证工具使用,是最容易被忽视的违规动作。