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

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

缺陷编号:wooyun-2014-051500

漏洞标题:ThinkSAAS 设计缺陷导致严重漏洞

相关厂商:thinksaas.cn

漏洞作者: xfkxfk

提交时间:2014-02-20 12:02

修复时间:2014-05-21 12:03

公开时间:2014-05-21 12:03

漏洞类型:非授权访问/权限绕过

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

ThinkSAAS 设计缺陷导致严重漏洞

详细说明:

ThinkSAAS 的管理后台是system目录。
但是在每一个功能的目录下有一个amdin目录,这下面的功能和system管理后台功能一样。
如\app\article\action\admin\post.php

<?php 
defined('IN_TS') or die('Access Denied.');
switch($ts){
case "list":

$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = SITE_URL.'index.php?app=article&ac=admin&mg=post&ts=list&page=';
$lstart = $page*20-20;
$arrArticle = $new['article']->findAll('article',null,'addtime desc',null,$lstart.',20');

$articleNum = $new['article']->findCount('article');
$pageUrl = pagination($articleNum, 20, $page, $url);

include template('admin/post_list');
break;

//审核
case "isaudit":

$articleid = intval($_GET['articleid']);
$strArticle = $new['article']->find('article',array(
'articleid'=>$articleid,
));

if($strArticle['isaudit']==0){
$new['article']->update('article',array(
'articleid'=>$articleid,
),array(
'isaudit'=>1,
));
}else{
$new['article']->update('article',array(
'articleid'=>$articleid,
),array(
'isaudit'=>0,
));
}

qiMsg('操作成功!');
break;

//删除
case "delete":

$articleid = intval($_GET['articleid']);
$strArticle = $new['article']->find('article',array(
'articleid'=>$articleid,
));

if($strArticle['photo']){
unlink('uploadfile/article/'.$strArticle['photo']);
}

$new['article']->delete('article',array(
'articleid'=>$articleid,
));

$new['article']->delete('tag_article_index',array(
'articleid'=>$articleid,
));

qiMsg('删除成功!');

break;

//推荐
case "isrecommend":

$articleid = intval($_GET['articleid']);
$strArticle = $new['article']->find('article',array(
'articleid'=>$articleid,
));

if($strArticle['isrecommend']==0){
$new['article']->update('article',array(
'articleid'=>$articleid,
),array(
'isrecommend'=>1,
));
}else{
$new['article']->update('article',array(
'articleid'=>$articleid,
),array(
'isrecommend'=>0,
));
}

qiMsg('操作成功!');
break;
}


这个目录下的功能就是操作文章的,可以修改,审核,删除等操作。
这些都是system目录下的功能,但是这里普通用户通构造连接即可进入,访问,操作。
http://localhost/thinksaas/index.php?app=article&ac=admin/post&ts=list

0.png


这里就可以访问到需要审核的文章,而且只要改变参数ts的内容进行相关操作就可以,审核,推荐,删除操作。
这样跟system的功能一直。
这样一来,每一个功能都有admin目录,构造url就能访问,操作,普通会员就成了system管理员了。
所以是一个很严重的漏洞,而且这里面都没有过滤,很多sql注入等漏洞。

漏洞证明:

见详细说明

修复方案:

判断用户是否为管理员

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-02-20 12:47

厂商回复:

的确很验证,已修复,判断了用户权限。

最新状态:

暂无


漏洞评价:

评论