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

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

缺陷编号:wooyun-2015-097209

漏洞标题:齐博CMS二次注入一枚

相关厂商:齐博CMS

漏洞作者: phith0n

提交时间:2015-02-17 21:23

修复时间:2015-04-02 10:23

公开时间:2015-04-02 10:23

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-02-17: 细节已通知厂商并且等待厂商处理中
2015-03-03: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-04-27: 细节向核心白帽子及相关领域专家公开
2015-05-07: 细节向普通白帽子公开
2015-05-17: 细节向实习白帽子公开
2015-04-02: 细节向公众公开

简要描述:

广告:求react.js和ruby on rails爱好者,我要拜师!!

详细说明:

齐博系统较多,我只以开源的整站做例子说,但不代表其他系统不存在这个问题,我没测试。
齐博CMS默认用户注册后可以给“美女欣赏”这个栏目投稿,投稿时候可以填写文章的“关键字”(keyword):

01.png


这个内容保存在article这个表中的keywords字段中。
我们来到/do/fujsrticle.php,93行开始:

if(!$keyword)
{
$erp=get_id_table($id);
extract($db->get_one("SELECT keywords AS keyword FROM {$pre}article$erp WHERE aid='$id'"));
}
if($keyword){
$detail=explode(" ",$keyword);
unset($detail2,$ids);
foreach( $detail AS $key=>$value){
$value && $detail2[]=" B.keywords='$value' ";
}
$str=implode(" OR ",$detail2);


当$keyword不存在的时候,则从article表中取出keywords,并用空格分开后再拼接成SQL语句。
因为是从数据库里取出又存入的,所以,这里造成一个二次注入。虽然keywords写入的时候将单引号转义成html实体了,但我这里可以引入一个反斜线\,就够了。

漏洞证明:

注册以后在“美女欣赏”这个版块投稿,关键字那一行填写“aaa\ bbbbb”,审核的勾去掉。

屏幕快照 2015-02-13 下午9.31.54.png


提交后,来到/member/myarticle.php?job=myarticle看看id是多少(我的是668):

屏幕快照 2015-02-13 下午9.34.23.png


然后访问/do/fujsarticle.php?type=like&id=668

屏幕快照 2015-02-13 下午9.39.58.png


可见bbbb处为注入点。
将投稿时候的keyword改成“aaa\ and/**/updatexml(0,concat(0xa,user()),0)#”,即可注入出mysql用户名:

屏幕快照 2015-02-13 下午9.51.38.png

修复方案:

不知道。

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-04-02 10:23

厂商回复:

漏洞Rank:15 (WooYun评价)

最新状态:

暂无


漏洞评价:

评论

  1. 2015-02-18 01:19 | 麦香浓郁 ( 路人 | Rank:2 漏洞数:1 | 前排膜拜乌云ph m锅 凤凰 a11 dot 各种师傅)

    师傅师傅 收了我吧

  2. 2015-04-02 18:11 | Icebreaker ( 路人 | Rank:10 漏洞数:2 | 方向比努力重要,能力比知识重要,健康比成...)

    师傅收了我吧,我没什么优点,就是特别喜欢钻

  3. 2015-07-27 20:03 | 王松_Striker ( 路人 | Rank:18 漏洞数:5 | 热衷于XSS,但毛都不会。安全盒子(www.se...)

    竟然TMD忽略了