12 接口安全怎么测?签名、时间戳、防重放是怎么回事?
2026/9/17...大约 2 分钟
12|接口安全怎么测?签名、时间戳、防重放是怎么回事?
开场先讲开放接口的威胁模型:接口暴露在公网,攻击者能抓包、能重放、能篡改、能遍历——先摆威胁再讲机制,分析框架就立住了。
回答思路
第一步:三个机制各防一个威胁(对位关系是本题核心)
| 机制 | 做法 | 防什么 |
|---|---|---|
| 签名 | 请求参数按规则拼接加 secret 算哈希随请求带上,服务端同样计算比对 | 防篡改——参数被改一个字签名就对不上 |
| 时间戳 | 请求里带当前时间,服务端校验偏差(比如五分钟内有效) | 防被抓的包长期有效 |
| nonce 随机数 | 一次一随机、服务端记录已用的 nonce,重复请求拒绝 | 防短时间内原样重放 |
第二步:测试方法按破坏性验证
- 篡改参数:改金额后签名是否校验失败
- 重放:原包重发是否被时间戳和 nonce 拦截
- 过期:改旧时间戳是否被拒
- 签名算法强度:是否用 md5 裸拼、secret 是否硬编码在前端被扒
- 限频:高频刷接口是否有频率限制
第三步:讲业务层补充
- 金额篡改(订单一元改一分)这类关键参数要做服务端二次校验,不能信客户端
- 接口幂等(重复提交不重复扣款)
- 接口级权限校验(呼应越权题)
签名机制挡不住「合法签名的恶意业务操作」。
收尾:讲测试重点迁移
内部接口(网关后面)重点是越权和权限;开放接口(公网裸奔)重点是签名防重放——按接口暴露程度定安全测试重心。
考察重点
| 维度 | 说明 |
|---|---|
| 企业动机 | 接口是测试工程师的主战场,接口安全是安全能力里离日常工作最近的部分——支付、开放平台类业务必考 |
| 过线标准 | 三机制各防什么讲清 + 篡改重放的验证方法 |
| 区分度 | 讲签名算法强度(前端 secret 被扒)、讲幂等和金额二次校验的是有业务深度的 |
| 加分项 | 按接口暴露程度定测试重心的策略思维 |
| 减分项 | 认为上了 https 接口就安全了(https 防窃听不防重放不防业务逻辑漏洞),认知错误 |
来源
整理自知识星球帖《面试情报 05|安全测试 20 题》,返回题库。