漏洞描述:
Zipper Down
針對熱更新應(yīng)用,在使用ZipArchive
或SSZipArchive
(第三方庫)解壓zip文件時羹令,未對…以及/進行過濾處理導致
目錄穿透,解壓時惡意文件覆蓋原有可執(zhí)行文件或其他文件,在應(yīng)用程序運行時造成惡意代碼執(zhí)行或運行崩潰等危害.
第三方解壓庫 (ZipArchive
/SSZipArchive
)對Zip文件解壓過程中會存在被攻擊的漏洞,需要對Zip內(nèi)部文件名進行”./”過濾.
func safeCheckZipPath(path: String) -> String {
var resultPath = path
if resultPath.contains("..") {
// 對非法路徑做替換處理
resultPath = resultPath.replacingOccurrences(of: "..", with: "")
}
return resultPath
}