zoukankan      html  css  js  c++  java
  • 【渗透测试】ZipperDown 漏洞分析

    0x01 漏洞危害

      1. 在使用 HTTP 下载 zip 包并使用有问题的第三方库 unzip 时,攻击者通过劫持 HTTP 流量,可以导致 APP 下载一个恶意的 zip 包,在解压 zip 包时可以任意覆盖 APP 文件夹内的内容,从而影响用户正常使用。

      2. 对使用了JSPatch 或其他热更新技术的 APP,可能可以导致控制代码执行。

    0x02 漏洞详情

      第三方 unzip 库,在解压 zip 包时未检查解压路径,当使用这些第三方的库解压时未过滤包含”../../../”的文件路径以及符号链接文件,导致APP 自身的其它文件被替换。

      可能存在的第三方库:

    1. SSZipArchive

      [unzipFileAtPath:toDestination:overwrite:password:error:delegate:] 函数在解析 zip 文件获取完整文件路径时,没有考虑到文件名中存在”../../../“的情况

    2. ZipArchive

      [ZipArchive UnzipFileTo:overWrite:] 函数在解析 zip 文件获取完整文件路径时,没有考虑到文件名中存在”../../../“的情况

     0x03 修复方案

      1. 在解压时考虑路径穿越问题,对最终路径做”../../../”文件名和符号链接的过滤。

      2. 严格使用 https 下载资源, 或者对下载的文件进行校验防止被恶意修改。

    0x04 相关参考

    https://zipperdown.org

  • 相关阅读:
    LeetCode 45 Jump Game II
    LeetCode 54. Spiral Matrix
    LeetCode 53. Maximum Subarray
    LeetCode 52. N-Queens II
    智齿的秘密
    《婚姻故事》观影笔记
    为什么在linux系统下安装anaconda的时候会报错
    pandas时间序列学习笔记
    极大似然估计和最小二乘法
    粗糙集学习笔记
  • 原文地址:https://www.cnblogs.com/sqyysec/p/9046154.html
Copyright © 2011-2022 走看看