用户上传压缩包并由服务端自动解包时,应如何防止文件逃逸、资源耗尽与主动内容落地?
简答题中等407 次浏览
参考答案与解析
# 核心结论
服务端自动解包必须把压缩包视为不可信数据,并把解析器视为可能遭攻击的高风险组件。不能只检查扩展名、压缩包体积或顶层文件数,而应在无业务凭据、低权限、受资源限制的隔离环境中流式解析。每个条目都要经过路径约束和类型检查,拒绝符号链接、硬链接、设备文件及其他特殊条目;同时限制总展开量、单文件大小、条目数、目录深度、压缩比、执行时间、内存、处理器、磁盘和并发数。文件在扫描、转换或审核完成前不得进入公开访问或可执行目录。
# 底层机制
路径逃逸常由条目名中的 ../、绝对路径、驱动器前缀、网络路径、混合分隔符或平台特有语义造成。简单删除字符串 ../ 并不可靠,因为规范化、编码、重复分隔符和不同操作系统的路
