漏洞名
文件读取接口大小写绕过漏洞
概述
/api/file/getFile 对敏感文件的拦截使用了区分大小写的字符串等值判断。
在 Windows这种大小写不敏感文件系统中,可通过混合大小写路径绕过,
读取被保护的配置文件。
影响
- 读取配置文件中的敏感信息(如访问码、API Token、同步配置等)。
- 发布服务无认证时可被远程直接利用。
触发条件
- 运行在大小写不敏感文件系统。
- 调用者可访问 /api/file/getFile(通过 CheckAuth 或发布服务注入 Token)。
PoC(通用示例)
开启发布后
请求:
POST /api/file/getFile
Content-Type: application/json
{"path":"cOnf/conf.json"}
预期结果:
根因
路径比较使用严格大小写字符串匹配,未进行大小写归一化或同文件判断。
修复建议
- 对路径做大小写归一化后再比较(Windows/macOS)。
- 使用 os.SameFile 等文件级比较方式。
- 对敏感路径统一做归一化后的黑名单判断。
说明
解决方案
399a388
漏洞名
文件读取接口大小写绕过漏洞
概述
/api/file/getFile 对敏感文件的拦截使用了区分大小写的字符串等值判断。
在 Windows这种大小写不敏感文件系统中,可通过混合大小写路径绕过,
读取被保护的配置文件。
影响
触发条件
PoC(通用示例)
开启发布后
请求:
POST /api/file/getFile
Content-Type: application/json
{"path":"cOnf/conf.json"}
预期结果:
根因
路径比较使用严格大小写字符串匹配,未进行大小写归一化或同文件判断。
修复建议
说明
解决方案
399a388