续:组合利用链(二)-zzzphp<=1.7.3文件上传getshell
字数 957 2025-08-26 22:11:40

ZZZPHP <=1.7.3 文件上传GetShell漏洞分析与利用

漏洞概述

本漏洞是ZZZPHP 1.7.3及以下版本中存在的一个组合利用链漏洞,通过控制文件上传目录和利用自解压功能,可实现任意文件上传并最终获取服务器Shell权限。

漏洞成因分析

1. 任意目录上传漏洞

save.php文件的up_load函数中,存在以下问题:

  1. 上传目录可控upfolder参数可被攻击者控制,允许将文件上传到任意目录
  2. 自动创建目录:如果指定目录不存在,系统会自动创建该目录

2. 文件类型限制绕过

虽然系统对上传文件类型做了白名单限制(仅允许zip压缩包、图片和pdf),但仍存在以下问题:

  1. type参数可控:文件类型检查参数$type可被攻击者控制
  2. PHP5扩展名上传:可构造type=PHP5filename=xxx.php5上传文件
    • 虽然能上传成功,但由于Apache默认不解析.php5扩展名,此方法无法直接利用

3. 自解压功能漏洞

系统存在一个关键的自解压功能点:

  1. up_data函数中的unzip功能
    • getfile函数会遍历zip目录下的压缩包
    • 发现压缩包后会自动解压
  2. 组合利用
    • 通过控制上传目录将zip文件上传到特定位置
    • 利用自解压功能解压恶意zip文件
    • 解压后的文件可包含webshell等恶意脚本

漏洞利用链

完整的漏洞利用流程如下:

  1. 控制上传目录:通过可控的upfolder参数指定上传目录
  2. 上传恶意zip文件:利用文件上传功能上传包含webshell的zip压缩包
  3. 触发自解压:系统自动解压上传的zip文件
  4. 获取Shell:访问解压后的webshell文件获取服务器权限

漏洞修复

ZZZPHP在1.7.4版本中修复了该漏洞:

  1. 修复任意目录上传问题:对上传目录进行了严格限制
  2. 建议:使用ZZZCMS的用户应升级至1.7.4或更高版本

教学总结

该漏洞是一个典型的组合利用链漏洞,展示了如何将多个看似不严重的问题组合起来形成高危漏洞。在代码审计中需要特别关注:

  1. 文件上传功能的目录和类型控制
  2. 系统自解压或自动处理功能的安全性
  3. 参数可控性带来的潜在风险

通过此案例,安全研究人员可以学习到组合利用链的审计思路和利用方法。

ZZZPHP <=1.7.3 文件上传GetShell漏洞分析与利用 漏洞概述 本漏洞是ZZZPHP 1.7.3及以下版本中存在的一个组合利用链漏洞,通过控制文件上传目录和利用自解压功能,可实现任意文件上传并最终获取服务器Shell权限。 漏洞成因分析 1. 任意目录上传漏洞 在 save.php 文件的 up_load 函数中,存在以下问题: 上传目录可控 : upfolder 参数可被攻击者控制,允许将文件上传到任意目录 自动创建目录 :如果指定目录不存在,系统会自动创建该目录 2. 文件类型限制绕过 虽然系统对上传文件类型做了白名单限制(仅允许zip压缩包、图片和pdf),但仍存在以下问题: type参数可控 :文件类型检查参数 $type 可被攻击者控制 PHP5扩展名上传 :可构造 type=PHP5 和 filename=xxx.php5 上传文件 虽然能上传成功,但由于Apache默认不解析 .php5 扩展名,此方法无法直接利用 3. 自解压功能漏洞 系统存在一个关键的自解压功能点: up_data 函数中的 unzip 功能 : getfile 函数会遍历zip目录下的压缩包 发现压缩包后会自动解压 组合利用 : 通过控制上传目录将zip文件上传到特定位置 利用自解压功能解压恶意zip文件 解压后的文件可包含webshell等恶意脚本 漏洞利用链 完整的漏洞利用流程如下: 控制上传目录 :通过可控的 upfolder 参数指定上传目录 上传恶意zip文件 :利用文件上传功能上传包含webshell的zip压缩包 触发自解压 :系统自动解压上传的zip文件 获取Shell :访问解压后的webshell文件获取服务器权限 漏洞修复 ZZZPHP在1.7.4版本中修复了该漏洞: 修复任意目录上传问题 :对上传目录进行了严格限制 建议 :使用ZZZCMS的用户应升级至1.7.4或更高版本 教学总结 该漏洞是一个典型的组合利用链漏洞,展示了如何将多个看似不严重的问题组合起来形成高危漏洞。在代码审计中需要特别关注: 文件上传功能的目录和类型控制 系统自解压或自动处理功能的安全性 参数可控性带来的潜在风险 通过此案例,安全研究人员可以学习到组合利用链的审计思路和利用方法。