| 典型场景 | JSON 请求体中字段类型被改写(字符串→对象/数组) |
|---|---|
| 信号 | 登录或查询结果与预期不符、返回异常记录 |
| 边界 | 只验证“条件是否被改写”,不导出数据 |
验证清单
验证清单
1. 找出接收 JSON 且直接进入查询的接口(登录、筛选、搜索)
2. 将某字符串字段改为对象结构提交,观察逻辑是否被改变
3. 记录接口、字段名、类型改写的现象(不记录可用条件)
4. 疑似成立即停止,测试账号操作便于清理修复视角:对入参做严格类型校验(该是字符串就必须是字符串),并在数据库层限制应用账号权限。
NoSQL 注入多来自把用户输入直接当查询条件解析:把字符串字段替换为对象结构时,查询运算符可能被携带进去,导致条件被改写。
| 典型场景 | JSON 请求体中字段类型被改写(字符串→对象/数组) |
|---|---|
| 信号 | 登录或查询结果与预期不符、返回异常记录 |
| 边界 | 只验证“条件是否被改写”,不导出数据 |
1. 找出接收 JSON 且直接进入查询的接口(登录、筛选、搜索)
2. 将某字符串字段改为对象结构提交,观察逻辑是否被改变
3. 记录接口、字段名、类型改写的现象(不记录可用条件)
4. 疑似成立即停止,测试账号操作便于清理