0daybug

影响范围

  • V11版
  • 2017版
  • 2016版
  • 2015版
  • 2013版
  • 2013增强版

漏洞简介

通达OA是由北京通达信科科技有限公司开发的一款办公系统,近日通达官方在其官网发布了安全提醒与更新程序,并披露有用户遭到攻击。
攻击者可在未授权的情况下可上传图片木马文件,之后通过精心构造的请求进行文件包含,实现远程命令执行,且攻击者无须登陆认证即可完成攻击。

漏洞分析

这里对通达OA11.3进行简要分析~
通达OA下载:
链接:https://pan.baidu.com/s/1QFAoLxj9pD1bnnq3f4I8lg
提取码:ousi

安装之后会发现源文件使用zend进行了加密,所以先要进行解密,解密网站:http://dezend.qiling.org/free/

文件上传功能

存在漏洞的上传功能文件为——webroot\ispirit\im\upload.php,具体代码如下:

<?php
//decode by http://dezend.qiling.org  QQ 2859470

set_time_limit(0);
$P = $_POST[\'P\'];
if (isset($P) || $P != \'\') {
    ob_start();
    include_once \'inc/session.php\';
    session_id($P);
    session_start();
    session_write_close();
} else {
    include_once \'./auth.php\';
}
include_once \'inc/utility_file.php\';
include_once \'inc/utility_msg.php\';
include_once \'mobile/inc/funcs.php\';
ob_end_clean();
$TYPE = $_POST[\'TYPE\'];
$DEST_UID = $_POST[\'DEST_UID\'];
$dataBack = array();
if ($DEST_UID != \'\' && !td_verify_ids($ids)) {
    $dataBack = array(\'status\' => 0, \'content\' => \'-ERR \' . _(\'接收方ID无效\'));
    echo json_encode(data2utf8($dataBack));
    exit;
}
if (strpos($DEST_UID, \',\') !== false) {
} else {
    $DEST_UID = intval($DEST_UID);
}
if ($DEST_UID == 0) {
    if ($UPLOAD_MODE != 2) {
        $dataBack = array(\'status\' => 0, \'content\' => \'-ERR \' . _(\'接收方ID无效\'));
        echo json_encode(data2utf8($dataBack));
        exit;
    }
}
$MODULE = \'im\';
if (1 <= count($_FILES)) {
    if ($UPLOAD_MODE == \'1\') {
        if (strlen(urldecode($_FILES[\'ATTACHMENT\'][\'name\'])) != strlen($_FILES[\'ATTACHMENT\'][\'name\'])) {
            $_FILES[\'ATTACHMENT\'][\'name\'] = urldecode($_FILES[\'ATTACHMENT\'][\'name\']);
        }
    }
    $ATTACHMENTS = upload(\'ATTACHMENT\', $MODULE, false);
    if (!is_array($ATTACHMENTS)) 

分类:

技术点:

相关文章: