记一次前台任意文件下载漏洞挖掘
字数 877 2025-08-03 16:45:03
前台任意文件下载漏洞挖掘与分析
1. 漏洞发现背景
- 目标系统:某后台管理系统
- 初始发现:通过弱口令
admin/123456成功登录 - 关键功能点:备份管理界面存在可疑的
filename参数直接包含文件名
2. 初步漏洞验证
- 在备份管理功能中发现
filename参数直接传递文件名 - 使用Burp Suite抓包测试,确认存在任意文件下载漏洞
- 发现该漏洞需要管理员权限才能利用
3. 漏洞利用限制与绕过
3.1 初始限制
- 漏洞位于后台功能,需要管理员权限
- 直接访问会302跳转到登录页面
- 常规绕过方法尝试失败
3.2 源码获取
- 通过GitHub链接获取系统源码
- 系统架构:Spring + Shiro组合
4. Shiro权限绕过技术分析
4.1 Shiro URL路径表达式
- 格式:Ant格式
- 通配符:
?:匹配一个字符*:匹配零个或多个字符串**:匹配路径中的零个或多个路径
4.2 分号(;)处理特性
- Shiro处理URI时,遇到分号(;)会删除其后的所有字符
- 例如:
/fdsf;/../hello/1/→/fdsf
4.3 绕过条件
- 存在anon(匿名可访问)权限的目录
- 该目录配置以路径通配符
**结尾
5. 实际绕过步骤
- 发现
images目录满足条件:- 匿名可访问(anon权限)
- 配置以
**结尾
- 构造特殊URL:
- 格式:
/images;/../目标文件路径
- 格式:
- 通过Burp Suite发送构造的请求
- 成功实现前台任意文件下载
6. 漏洞修复建议
- 对文件下载功能实施严格的权限控制
- 限制文件下载路径,避免目录穿越
- 更新Shiro配置:
- 避免使用过于宽松的
**通配符 - 对敏感路径实施精确匹配
- 避免使用过于宽松的
- 修复分号处理问题:
- 在应用层对URI进行规范化处理
- 过滤或拒绝包含特殊字符(如分号)的请求
7. 扩展思考
- 类似框架的其他权限绕过技术
- 文件下载漏洞与其他漏洞的串联利用
- 防御措施的纵深部署
8. 参考资源
- Shiro权限绕过分析文章
- Shiro官方文档关于URL匹配的部分
- OWASP关于任意文件下载漏洞的指南