安全评审检查什么
安全评审只需要盯住几类高风险模式:外部输入是否被校验、拼进查询或命令的字符串是否参数化、新接口有没有挂权限、敏感数据会不会进日志或响应体、由用户控制的地址与路径是否被约束。多数线上安全问题都落在这些模式里,评审时按模式扫一遍,比笼统提醒「注意安全」有效得多。
基本信息
| 检查范围 | 注入、越权、敏感数据泄露、服务端请求伪造、路径穿越 |
|---|---|
| 输入边界 | 请求参数、上传文件、消息队列内容都算外部输入 |
| 权限检查 | 新接口需要明确谁能访问,能否访问他人数据 |
| 上报流程 | 疑似可利用的漏洞按团队安全流程处理,不在公开评论里写复现细节 |
按风险模式扫一遍
- 注入类:SQL、命令、模板拼接是否使用参数化或白名单。
- 输入校验:外部输入的类型、长度与取值边界是否被检查。
- 认证授权:新接口是否挂了权限检查,能否访问到他人的数据。
- 敏感数据:日志、错误信息与响应体是否泄露凭据或个人信息。
- 地址与路径:由用户控制的 URL 与文件路径如何约束,避免服务端请求伪造与目录穿越。
风险模式与检查点
| 风险 | 检查点 |
|---|---|
| 注入 | 是否有字符串拼接进入查询、命令或模板 |
| 越权 | 是否以当前用户身份校验了资源归属 |
| 敏感数据 | 日志与错误信息是否带令牌、密码或个人信息 |
| 服务端请求伪造 | 用户提供的地址是否做白名单与内网限制 |
| 文件操作 | 上传路径与文件名是否被规范化与约束 |
评审发现疑似可利用的漏洞:按团队安全流程处理与上报,公开描述里去掉可复现细节。
权限类问题优先用「能否用别人的 ID 访问」这类具体问法验证,抽象讨论很容易停在概念上。