用友U8 CRM objectview.php SQL注入漏洞


漏洞简介

用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件,旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。用友 U8 CRM客户关系管理系统 objectview.php 文件存在SQL注入漏洞,未经身份验证的攻击者通过漏洞执行任意SQL语句,调用xp_cmdshell写入后门文件,执行任意代码,从而获取到服务器权限

影响版本

V18, V16.5, V16.1, V16.0, V15.1, V13

fofa语法

title="用友U8CRM"

漏洞分析

根据官方漏洞通告

可知漏洞原因为sql注入导致的命令注入攻击。

那直接看 U8SOFT/turbocrm70/code/www/pub/objectview.php 修复前后的差异

可以看到修复版本是对 getRealID 方法增加了更安全的参数化处理sql语句,那直接看有那里调用了 getRealID 方法,找到如下调用

function getRealID($ID){
    $realID = $ID;
    global $gblDB;
    $sql="select account_id from tc_account where cLtcCustomerCode='$ID' and account_id <> cLtcCustomerCode";
    $rs = $gblDB->query($sql);
    if ($rs && $rs->fetchRecord())
    {
        $realID=$rs->getFieldValueByName("account_id");
    }
    $rs->close();
    return TRegisterID($realID);
}
......

$ObjType = TGetRequest("ObjType");
$ID = TRegisterID(TGetRequest("ID"));
if($ObjType == 1){
    $ID = getRealID(TGetRegID($ID));
}

可以看到没有修复之前是当 ObjType=1 时, getRealID 方法是直接将 $ID 拼接进sql语句中,无任何过滤和校验,造成sql注入漏洞。

漏洞复现

GET /pub/objectview.php?DontCheckLogin=1&ObjType=1&ID=1' HTTP/1.1
Host: u8crm.mrxn.net

参考

  • https://security.yonyou.com/#/patchInfo?identifier=dbed49af1ced41e89fcc67d35e5df6c9

手机扫码阅读

锐捷-EWEB download.php 文件读取漏洞

锐捷-EWEB dhcp.php 文件读取漏洞

评 论