定心丸!ZipperDown漏洞分析与修复建议
本文由 网易云发布。
近日,盘古实验室对外披露了ZipperDown漏洞,该漏洞是盘古团队针对不同客户的iOS应用安全审计的过程中发现的,大约有10%的iOS应用会受到此漏洞的影响。
利用此漏洞可以做很多事情,例如实现目录遍历攻击和App Container目录中任意文件覆盖风险……影响究竟有多大,取决于具体App和对应取得的权限。
ZipperDown获得大量媒体聚焦的同时,也吸引了大量不法分子的目光,一场安全风暴隐约即将到来。
那如何防止ZipperDown漏洞带来的破坏呢?网易云易盾安全专家结合目前披露的信息以及自己的分析,给出了如下分析和建议:
漏洞原理
ZipperDown漏洞并非iOS平台自身问题,而是与Zip文件解压有关。iOS平台没有提供官方的unzipAPI函数,而是引用了第三方库来实现解压功能,由于现有的iOS App基本上采用SSZipArchive或Ziparchive来实现解压,因此漏洞是来自使用第三方Zip库解压Zip文件的过程中没有对Zip内文件名做校验导致的。如果文件名中含有“../”则可以实现目录的上一级跳转,从而实现应用内任意目录的跳转,进一步可以实现文件覆盖,如果把App的hotpatch文件覆盖替换了,可以达到执行黑客指定指令,从而按照黑客的意图实现任意应用内攻击。
这个漏洞不禁让易盾联想到不久前Android平台上的unZip解压文件漏洞,和这个漏洞几乎是完全一样,只是平台和第三方解压库不同而已。Android平台上的被称为unZip解压文件漏洞,网易云易盾安全检测平台已经可以实现扫描检测。
修复建议
开发中在使用第三方解压库对Zip文件解压过程中,要对Zip内部文件名进行“../”过滤,另外存放关键数据的文件如Hotpatch记得进行加密、合法性和完整性校验,使用HTTPS安全传输协议通信等,也可以购买易盾的通信协议加密SDK(点击“阅读原文”,可一键接入),做到最大程度的防范。
本漏洞的修复可以参考Android平台的unZip解压文件漏洞修复方案进行修复,下面是Android平台的修复方案:

总结
攻击条件:
- 使用了第三方解压库。
- Zip包在解压时没有做完整性校验。
- APP使用了JSPatch或其他执行引擎,且本地脚本没有加密,只要把脚本放指定目录即可执行 ,本地脚本未做合法性校验。
- 连接不可靠的WIFI热点进行通信。
类似解压等通用功能的漏洞,一个平台爆出了漏洞,其他平台往往也受到牵连,这个ZipperDown漏洞就是这样的。在最后,网易易盾移动安全专家也向普通用户建议,在相关App未修复之前,不要轻易连接不受信任的公共网络。
网易云易盾为您提供iOS 应用加固、Android 应用加固服务,欢迎免费点击试用。
了解 网易云 :
网易云官网:https://www.163yun.com/
新用户大礼包:https://www.163yun.com/gift
网易云社区:https://sq.163yun.com/
定心丸!ZipperDown漏洞分析与修复建议的更多相关文章
- jQuery CVE-2019-11358原型污染漏洞分析和修复建议
一.安全通告 jQuery官方于日前发布安全预警通告,通报了漏洞编号为 CVE-2019-11358的原型污染漏洞.由攻击者控制的属性可被注入对象,之后或经由触发 JavaScript 异常引发拒绝服 ...
- Web渗透测试漏洞手册及修复建议
Web渗透测试漏洞手册及修复建议 0x0 配置管理 0x01 HTTP方法测试 漏洞介绍: 目标服务器启用了不安全的传输方法,如PUT.DELETE等,这些方法表示可能在服务器上使用了 WebDAV, ...
- 网站安全检测 漏洞检测 对thinkphp通杀漏洞利用与修复建议
thinkphp在国内来说,很多站长以及平台都在使用这套开源的系统来建站,为什么会这么深受大家的喜欢,第一开源,便捷,高效,生成静态化html,第二框架性的易于开发php架构,很多第三方的插件以及第三 ...
- SSRF漏洞(原理、漏洞利用、修复建议)
介绍SSRF漏洞 SSRF (Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者构造请求,由服务端发起请求的安全漏洞.一般情况下,SSRF攻击的目标是外网无法访问 ...
- ThinkPhp3.2.3缓存漏洞复现以及修复建议
小编作为一个php(拍黄片)的程序员,今天早上无意间看到thinkphp的缓存漏洞,小编在实际开发过程中用thinkphp3.2.3挺多的. 我们这里来复现一下漏洞 后面我会提出修复建议 首先我们下载 ...
- 【渗透测试】ZipperDown 漏洞分析
0x01 漏洞危害 1. 在使用 HTTP 下载 zip 包并使用有问题的第三方库 unzip 时,攻击者通过劫持 HTTP 流量,可以导致 APP 下载一个恶意的 zip 包,在解压 zip 包时可 ...
- ECSHOP v2.7.3注入漏洞分析和修复
测试版本 漏洞条件 漏洞利用 产生原因 修复方案 1.测试版本 v2.7.3 RELEASE 20121106(最新) v2.7.3 RELEASE 20120411 2.漏洞条件 需登录到后台 3. ...
- Jenkins-CVE-2016-0792漏洞利用及修复建议
漏洞概述: 国外网站 Contrast Security 于2016年2月24日在公开了Jenkins近日修复的一个可通过低权限用户调用 API 服务致使的命令执行漏洞详情.通过低权限用户构造一个恶意 ...
- nginx漏洞分析与升级修复
一 .此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] nginx安全公告(CVE-2018-16843,CVE-2018-16844)在nginx HTTP / 2实 ...
随机推荐
- Android微信支付SDK开发
一.准备工作 1.开发平台及SDK下载 微信开放平台 https://open.weixin.qq.com 下载SDK 微信支付Demo下载 http://pay.weixin.qq.com/wiki ...
- Django 请求参数
Django 请求参数 1.获取URL路径中的参数 需求:假设用户访问127.0.0.1/user/1/2,你想获取1,2.应该怎么操作呢? (1)未命名参数(位置参数) # 在项目下的urls.py ...
- Mybatis显示SQL语句
众所周知,hibernate可以通过配置show_sql在控制台显示sql语句,Mybatis可不可以呢?当然是可以的,将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运 ...
- ubuntu 下 mysql数据库的搭建 及 数据迁移
1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配 ...
- 用Spider引擎解决数据库垂直和水平拆分的问题
作者介绍 张秀云,网名飞鸿无痕,现任职于腾讯,负责腾讯金融数据库的运维和优化工作.2007年开始从事运维方面的工作,经历过网络管理员.Linux运维工程师.DBA.分布式存储运维等多个IT职位.对Li ...
- 转:spring 的控制反转
文章一,原文地址:http://blog.sina.com.cn/s/blog_63804f6f0100kfx0.html 控制反转: IoC(Inversion of Control,控 ...
- django中的权限控制(form增删改)
Django默认提供了权限控制,但只能对使用了其自带的登录认证的用户进行权限控制,说白了就是只能对存储在auth_user表中的用户进行权限控制,但不能对未登录过的用户进行权限控制.但如果通过集成LD ...
- linux centos6.5 网络配置
1.方法一.修改网络配置文件 ①cd /etc/sysconfig/network-scripts ②cp ifcfg-eth0 ./ifcfg-eth0.bak //修改前先备份 第一个以太网 ...
- Linux wc命令详解
wc常见命令参数 wc -l : 统计行 wc -c: 统计字节数 wc -m:统计字符数,不能与-c同时使用 wc -w:统计字数 wc -L:打印最长长度 注意: wc 可以直接后面跟文件使用,但 ...
- September 23rd 2017 Week 38th Saturday
Lonely people will always remember his life occurred in each person. 寂寞的人总是会用心记住他生命中出现过的每个人. If you ...