将文件命名为..file这类双点开头名称跳转父目录,是文档定义行为还是bug?
关于
..filename格式文件被自动移至父目录的行为判定 基础结论
- 主流桌面/服务器操作系统(Windows、Linux、macOS)的原生文件系统规则中,仅单独的
..会被识别为指向父目录的特殊路径标记,..filename属于完全合规的普通文件名,不会触发原生的路径跳转逻辑,也不会被系统自动移动到父目录。 - 你观测到的异常移动行为,属于你操作时使用的上层应用(包括但不限于第三方文件管理器、文件上传服务、批量重命名脚本、网盘同步工具)的代码漏洞:这类应用在处理文件路径拼接时没有做严格的输入校验,直接将文件名拼接到目标目录路径后,错误将文件名开头的
..解析为了路径跳转指令。举个最简单的例子:
目标存储路径为/data/user/files/,应用拼接文件名..test.txt时未做过滤,直接生成路径/data/user/files/..test.txt,部分编程语言的路径处理函数会把这段路径错误解析为/data/user/test.txt,最终文件就被写入到了父目录中。 - 这类漏洞属于典型的路径遍历类安全风险,如果对应的应用面向公网提供服务或者处理敏感文件,可能被恶意利用来写入文件到任意可控路径,建议尽快向对应应用的开发者反馈该问题。
内容的提问来源于stack exchange,提问作者GeronimoHero
相关产品推荐
相关产品推荐

