漏洞描述:
Zipper Down针对热更新应用,在使用ZipArchive或SSZipArchive(第三方库)解压zip文件时,未对…以及/进行过滤处理导致
目录穿透,解压时恶意文件覆盖原有可执行文件或其他文件,在应用程序运行时造成恶意代码执行或运行崩溃等危害.
第三方解压库 (ZipArchive/SSZipArchive)对Zip文件解压过程中会存在被攻击的漏洞,需要对Zip内部文件名进行”./”过滤.
func safeCheckZipPath(path: String) -> String {
        var resultPath = path
        if resultPath.contains("..") {
            // 对非法路径做替换处理
            resultPath = resultPath.replacingOccurrences(of: "..", with: "")
        }
        return resultPath
    }