从 OWASP Top 10 到业务漏洞挖掘:安全攻防实习复盘
一、前言
很多安全攻防实习岗位都会写:
1 | 熟悉 OWASP Top 10 漏洞原理与防御技术 |
这说明岗位不只是要求会复现 CTF payload,更希望候选人能理解真实业务系统中的漏洞产生原因、验证方法和修复建议。
本文整理从 OWASP Top 10 到业务漏洞挖掘的学习思路。
二、OWASP Top 10 怎么理解
OWASP Top 10 不是十个固定 payload,而是十类常见 Web 风险。
常见方向:
1 | 访问控制失效 |
在真实测试中,最常见、最容易出成果的通常是:
- 越权访问
- 接口未授权
- SQL 注入
- 文件上传
- SSRF
- 敏感信息泄露
- 认证逻辑缺陷
三、访问控制失效
访问控制失效是业务系统中最常见的问题之一。
常见参数:
1 | userId |
测试方式:
1 | 1. 使用 A 账号创建资源 |
常见漏洞:
- 查看他人订单
- 下载他人文件
- 修改他人资料
- 越权进入管理页面
- 普通用户修改角色字段
修复建议:
- 服务端基于当前登录用户做权限判断。
- 不信任客户端传入的用户 ID。
- 敏感字段不允许批量赋值。
- 管理接口单独鉴权。
四、注入漏洞
注入不只包括 SQL 注入,还包括:
- 命令注入
- 模板注入
- LDAP 注入
- NoSQL 注入
- SpEL 表达式注入
测试思路:
1 | 输入特殊字符 |
SQL 注入测试时,不要直接拖库。只需要证明:
- 输入进入 SQL 语句。
- 能改变查询逻辑。
- 能读取当前库名或有限测试数据。
报告要写清楚:
1 | 注入参数 |
五、SSRF
SSRF 常出现在:
1 | 图片抓取 |
测试重点:
- 服务端是否发起请求。
- 是否能访问内网地址。
- 是否能访问云元数据。
- 是否支持危险协议。
低风险验证:
1 | 让目标请求自己的 DNSLog 或测试服务器 |
修复建议:
- URL 白名单。
- DNS 解析后检查最终 IP。
- 禁止访问内网和元数据地址。
- 禁止危险协议。
- 禁止跟随跳转到内网。
六、文件上传
文件上传测试要看完整链路:
1 | 上传入口 |
常见绕过:
- 前端校验绕过
- MIME 修改
- 大小写后缀
- 双后缀
- 图片马
- 压缩包解压风险
真实业务测试中,验证到风险即可,不要上传破坏性 WebShell。
修复建议:
- 后端白名单校验。
- 上传目录禁止执行。
- 文件重命名。
- 图片重新编码。
- 文件存储与代码目录隔离。
七、认证与会话问题
常见问题:
- JWT 未验签。
- JWT 弱密钥。
- Session 固定。
- 找回密码 token 可预测。
- 验证码可爆破。
- OAuth 回调校验不严。
测试时重点看:
1 | token 是否可篡改 |
修复建议:
- 严格校验 JWT 签名。
- token 设置过期时间。
- 服务端维护关键状态。
- 密码重置 token 一次性使用。
- 验证码增加频率限制。
八、安全配置错误
常见配置问题:
- Swagger 暴露
- Actuator 暴露
- .git 泄露
- 备份文件泄露
- Debug 模式开启
- 目录列表开启
- 默认账号密码
新手 SRC 很适合从这类问题练手,因为风险相对容易证明,也不需要破坏业务。
修复建议:
- 生产环境关闭调试接口。
- 管理页面加鉴权。
- 清理备份文件。
- 禁止目录列表。
- 删除默认账号。
九、从漏洞到业务影响
真实报告不能只写:
1 | 存在 XSS |
还要写清楚业务影响:
1 | 可查看他人订单 |
面试官更关注你是否能把技术漏洞转化成业务风险。
十、我的测试方法论
一个比较稳的测试流程:
1 | 1. 明确测试范围 |
对于内部系统,可以重点关注:
- 管理后台
- 数据导出
- 文件下载
- 权限角色
- 工单系统
- 用户管理
- 配置中心
- 插件系统
十一、报告模板
1 | 漏洞标题: |
十二、总结
OWASP Top 10 是基础,但真正的攻防能力体现在:
1 | 能不能从业务流程中发现漏洞 |
对安全攻防实习来说,建议多写这类复盘文章,把单个漏洞和业务场景结合起来。这样面试官看到博客时,会更容易判断你具备真实测试思维。