漏洞挖掘 | 通过API接口拿到CNVD证书
字数 1299 2025-08-18 11:35:40
通过Swagger-ui API接口信息泄露漏洞挖掘实战教学
漏洞概述
本教学文档详细分析了一种通过Swagger-ui未授权访问导致的API信息泄露漏洞,该漏洞可进一步导致系统敏感数据泄露。该漏洞属于中高危漏洞(CVSS2.0基准评分超过4.0),符合CNVD通用型漏洞认证标准。
漏洞发现流程
1. 初始信息收集
- 端口扫描:发现目标开放多个端口(如8083),每个端口基本都提供web服务
- 网页分析:访问看似空白页面时,通过查看源代码发现关键线索:
- 检查
<title>标签内容 - 分析引用的JS文件,特别是包含"api"、"env"等关键词的文件
- 检查
2. Swagger-ui发现
- 目录扫描:发现存在
/swagger-ui路径 - 技术背景:SpringBoot集成Swagger-ui时若未设置身份验证措施,会导致API文档完全暴露
3. API接口测试
对暴露的Swagger接口进行系统测试,重点关注:
- 敏感信息泄露接口
- 任意文件上传功能
- 其他高危操作接口
漏洞利用过程
1. 初始信息泄露
发现关键API端点:/xx/xx/xx/all
- 功能:获取所有文件信息
- 泄露内容:文件系统内所有文件的ID、名称等元数据
2. 深度信息挖掘
发现第二个关键API端点:/xx/xx/xx/{fileId}
- 功能:根据文件ID获取详细信息
- 泄露内容:文件存储物理路径、创建时间、文件大小等
3. 敏感数据获取
发现第三个关键API端点:/xx/xx/xx/{fileId}/thumbnail
- 功能:获取文件缩略图
- 实际效果:通过此接口可直接访问到用户敏感信息(如身份证图片等)
漏洞验证与报告
1. 通用性验证
- 资产搜索:使用FOFA等网络空间测绘引擎,搜索特征
body="xxx.com" - 批量验证:从搜索结果中随机选取多个目标验证漏洞存在性
- 统计结果:确认漏洞在多个独立系统中存在
2. CNVD认证要求
- 漏洞等级:中危及中危以上(CVSS2.0基准评分超过4.0)
- 开发商资质:注册资金≥5000万人民币或涉及重要单位
- 案例数量:至少10个可复现的网络案例
3. 报告编写要点
- 清晰描述漏洞发现过程
- 提供完整的漏洞复现步骤
- 附上多个独立系统的验证结果
- 说明漏洞可能造成的实际危害
防御建议
1. Swagger-ui防护措施
- 生产环境禁用Swagger-ui或添加身份验证
- 配置访问控制,限制可访问IP范围
- 修改默认路径,避免被自动化工具扫描
2. API安全加固
- 实施严格的API权限控制
- 对敏感操作实施二次验证
- 记录并监控API访问日志
3. 敏感数据保护
- 实施数据最小化原则,仅暴露必要信息
- 对敏感文件实施加密存储
- 建立完善的文件访问审计机制
总结
本教学详细展示了如何通过Swagger-ui未授权访问漏洞挖掘API信息泄露漏洞的全过程,从初始信息收集到深度利用,再到通用性验证和报告提交。此类漏洞由于SpringBoot的广泛使用而具有较高的通用性,安全研究人员应掌握此类漏洞的挖掘方法,同时开发人员需重视Swagger-ui在生产环境中的安全配置。