关于ZipperDown

不是什么大事儿,但是鉴于新闻热度等等原因可能还是开一贴给普通开发者解释一下比较好。
压缩文件是允许路径指向类似../A/../B这种格式的, UNIX下../代表这个文件夹的上一层。比如说/A/B/../C实际上指的是/A/C

有问题的解压库没有对这种../做过滤,也就是说可以往解压路径外的地方解压文件。这不是一个系统级的沙盒逃逸漏洞

现在重点来了:
很多App会把所谓的热更新补丁放在沙盒内的某个路径下,比如说我们叫Documents/A.js吧,如果热更新的传输过程有中间人攻击的问题或者app被通过某种方式打开恶意的压缩包, 攻击者就可以覆盖A.js的内容,这样下次app启动加载热更新补丁A.js时就会执行恶意代码。

修复

原版的几个库下啊都有人提交了修复的PR, 老外破逼事多不一定merge,自己实现一遍也不难。另外做好SSL Pinning并且最重要的是,我说了无数遍了: 热更新绝大多数时候都是给18线三流程序员擦屁股用的,也是同样的一批人根本不知道怎么正确的做安全,引入巨量的隐患。 这都第几次了

感想

还是那句话,漏洞本身其实不是什么太复杂的事儿,但是确实暴露出来一些普通开发者的问题。

另外没记错的话盘古6还是哪一代的越狱也利用了类似的漏洞

12 个赞

随手点赞正能量

懂了!谢谢!

总结的是很到位。

@Zhang 您好,我相信你是一个大牛 :rofl:,我只是一个小白,目前做了几年正向开发,这段时间研究一段时间的逆向, 深深的感受到自己的不足,太多的不懂,面对逆向方面的真的有一种苍白无力感。想以后往安防方面发展,可是要会防御,必须会一定的■■。还望大佬指点一下, 目前 只是看了一下 这个入门级的抢红包,我想知道如何系统的学习逆向方面的技术呢,主要是系统。 还望大佬 看见了指点一二。

今年圈里的新书,罗巍《iOS应用逆向与安全之道》,之前Monkey的《iOS应用逆向与安全》,先买了熟读,建议全文背诵 :rofl:,再来问张总。

在此谢过 大佬的指点

我不是我没有