千家信息网

由追踪溯源发现的不安全解压GetShell实例分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关由追踪溯源发现的不安全解压GetShell实例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。近日我们帮助某客户追踪溯源
千家信息网最后更新 2026年10月31日由追踪溯源发现的不安全解压GetShell实例分析

这篇文章将为大家详细讲解有关由追踪溯源发现的不安全解压GetShell实例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

近日我们帮助某客户追踪溯源一例入侵事件时,发现黑客在获取服务器权限之前利用网站的「ZIP 解压功能」上传了 Webshell。由于此次的漏送利用方式在「攻击载荷的构造」与「实际解压路径」方面较有代表性,并且业界对「不安全解压」漏洞的关注度仍不够。因此我们编写了这篇报告,在报告中讲解了入侵溯源与漏洞发现的过程,并从安全开发和安全狗产品防护方案两个维度提出了一些安全建议,希望对行业有所补益。

值得注意的是,虽然该 CMS 已经做了相关防御配置,若在 CMS 的根目录下直接写入 JSP 文件是无法执行的,会报 403 错误。攻击者利用了 war 包会自动部署的特点,通过「目录穿越」的思路使 war 包跳出该 CMS 的根目录。

一、入侵溯源

某公司运维人员在深夜值班时发现系统存在一定异常,为了尽**查问题,客户联系了我司,海青实验室随后介入,进行溯源和分析,并提供后续的处置方案。

通过查看 Tomcat 的日志文件/logs/localhost_access_log.yyyy-MM-dd.txt可以发现,查看日志可以发现,攻击者曾经对网站的登录接口实施了爆破(对「POST /cmscp/login.do」接口的访问频率很高),如图所示。

注:爆破成功时的 HTTP 状态码是 302,而爆破失败时的 HTTP 状态码是 303。

为了判断攻击者是否上传网站木马,使用网站安全狗的 Webshell AI 检测引擎对 Tomcat 的 webapps 目录进行扫描,可发现名为「/admin/login.jsp」的文件被识别为 Webshell(黑客对这一 Webshell 的命名具有一定的迷惑性),如图所示。

经过进一步人工确认,可判断该 jsp 文件确为 Webshell。并且它与 admin.war 这一文件的自动部署有关,如图所示。

那么这一 war 包是如何被上传到服务器的呢?继续对日志文件进行分析,在分析的时候重点关注「可能为文件上传功能的接口」。可以初步判断,黑客曾在使用该 Webshell 之前使用ZIP 上传和ZIP 解压功能,如图所示。

找到服务器上被文件解压接口调用的 test5.zip 文件,对之进行分析可以发现 admin.war 所处的路径是「test5.zip\..\..\..」。因而,该 ZIP 文件是黑客精心构造的恶意文件,它将使得该 war 包的解压路径不再是预设的「/uploads/1」目录,而是 Tomcat 的「webapps」目录,如图所示。

注:本文的恶意 zip 文件的生成方式

(1)执行以下 python 脚本,生成 test5.zip:

import zipfile if __name__ == "__main__": try:binary = b''zipFile = zipfile.ZipFile("test5.zip", "a", zipfile.ZIP_DEFLATED) info = zipfile.ZipInfo("test5.zip")zipFile.writestr("../../../safedog.html", binary)zipFile.close()except IOError as e: raise e

(2)将包含有 Webshell 的 war 包拖拽到「test5.zip」,如图所示。

二、代码审计

经过前面的入侵溯源分析可以初步断定,这次攻击与该 CMS 的「ZIP 解压接口」(GET /cmscp/core/web_file_2/unzip.do?ids={ids}&parentId={parentId})密切相关。该接口对应了 WebFileUploadsController.java 的 unzip 方法,如图所示。

对 unzip 方法进行跟进,发现它的具体实现在 WebFileControllerAbstractor.java 中。可以发现,在对 zip 文件进行解压的时候,调用了 AntZipUtil 类的 unzip 方法,如图所示。

对 AntZipUtil 类的 unzip 方法进行跟进,可发现该方法未对 ZIP 压缩包里的文件名进行参数校验,就进行文件的写入。这样的代码写法会引发目录穿越漏洞,如图所示。

目前,海青实验室已将该漏洞提交 CNVD,并通知厂商进行修复。

三、总结

通过这则实例可以发现,解压功能的安全性可能对网站安全造成较大危害(以 Spring Integration Zip 开发组件为例,它也曾被爆出 CVE-2018-1261 这一「不安全解压漏洞」)。若网站的业务涉及了解压功能,建议更加重视安全开发的维度,除此以外安全狗也提供了相应的产品防御方案。

在安全开发方面,建议研发人员在实现解压算法时,从以下几个方面进行自查与限制:

(1)是否限制压缩包内文件的扩展名

例如:.war、.jsp、jspx、.jsp::$DATA(只影响 Windows 主机)

(2)是否限制压缩包内文件的实际解压路径

(3)是否限制压缩包内文件的总大小(以防压缩包**引发的拒绝服务攻击)

(4)是否赋予Web 应用目录合理的权限

此外,我们也建议用户选择可靠专业的安全产品,例如安装了安全狗产品的用户,一旦发生安全事件,将会自动收到系统发出的告警短信,以尽快介入处置,避免产生更大的损失。

在「安全狗产品防御」方面,建议用户使用「网站安全狗」和「云御」的网站后台防护以及服务器狗的文件目录守护功能,云御和网站安全狗的网页后台路径保护功能可以实现针对网站后台暴破行为的防护。

云御后台防护功能如图所示:

网站安全狗后台防护功能如图所示:

服务器文件夹目录守护功能:


关于由追踪溯源发现的不安全解压GetShell实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

安全 文件 网站 如图 功能 目录 分析 接口 攻击 服务 产品 后台 建议 方法 服务器 漏洞 路径 防护 方面 黑客 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会主任 中关村互联网科技集团 互联网金融监管科技数据 中国互联网科技发展 互联网科技上市公司 易通互联网络科技有限公司 金融科技和互联网金融 银川新华互联网科技学校地址 互联网科技公司需要的职位 玖二柒互联网科技公司待遇 创业天下互联网科技有限公司 互联网经济与金融科技 开一家科技互联网公司需要多少钱 翼展科技 首家互联网医院 为客找房互联网科技公司怎么样 工业互联网山东科技大学 互联网金融科技公司的优势 上海创道互联网络科技有限公司 银川新华互联网科技学校原画 科技互联网专业务虚会材料 手磨咖啡 高科技互联网 互联网和科技技术 南京欣网互联网科技 善班互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 互联网金融中的现代科技 抖集互联网科技技术咨询 互联网科技平台产品运营 三亚科技创新互联网基地
0