记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

Discuz x!一个鸡肋SQL漏洞

2014-10-08 22:45

这个有点不靠,不靠谱的前提:



1,http://drops.wooyun.org/papers/1404

2,arp

3,有其他方法获取siteuniqueid,按照安装的算法来暴力破解或其他



在dx/api/google/google.php内on_gtt函数内有一段代码:

$posts = getgpc('post') ? explode(',', getgpc('post')) : array();

if($posts) {

$posts[0] = intval($posts[0]);

$posts[1] = intval($posts[1]);

$posts = implode(',', $posts);

}





这里$posts里的key 0 和key 1虽然都intval了,但是它还可以有key 3 key 4 key 5的,结果这个字符串被implode了。



这个$posts最后进入到了SQL查询里



if($posts) {

$pquery = DB::query("SELECT tid, pid, authorid, message FROM ".DB::table($tablename)." WHERE tid IN (".dimplode($tids).") AND first=0 LIMIT $posts", 'SILENT');





漏洞证明:

如上。

修复方案:

if($posts) {

$_posts = array();

$_posts[0] = intval($posts[0]);

$_posts[1] = intval($posts[1]);

$posts = implode(',', $_posts);

}

知识来源: www.wooyun.org/bugs/wooyun-2014-068077

阅读:74276 | 评论:0 | 标签:漏洞 discuz

想收藏或者和大家分享这篇好文章→复制链接地址

“Discuz x!一个鸡肋SQL漏洞”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云

本页关键词