任意文件读取

401 字

任意文件读取

任意文件读取是指应用把用户输入当成文件路径使用,却没有限制读取范围,导致服务器上的敏感文件被读取。

风险来源

常见入口包括文件下载、图片预览、日志查看、模板读取、报表导出、附件访问和主题资源加载。问题往往出在服务端拼接路径时,允许用户控制文件名、目录名或完整路径。

可读内容 可能影响
配置文件 数据库账号、密钥、内部地址
源码文件 业务逻辑、接口路径、权限判断
日志文件 用户数据、Token、错误栈
系统文件 操作系统信息、运行用户、环境变量

识别思路

看到 filepathdownloadtemplateurlname 等参数时,要思考它们是否会落到文件系统。返回内容如果出现源码片段、配置格式、异常路径或下载行为,就需要进一步确认访问边界。

防护要点

文件访问使用固定目录和白名单映射,不让用户直接控制真实路径。服务端规范化路径后检查是否仍在允许目录内,敏感文件放在 Web 根目录之外,并给运行用户最小文件权限。

Licensed under CC BY-NC-SA 4.0