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

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

缺陷编号: WooYun-2014-51897

漏洞标题: ThinkSAAS SQL注入漏洞打包1-5

相关厂商: thinksaas.cn

漏洞作者: xfkxfk认证白帽子

提交时间: 2014-02-24 16:36

公开时间: 2014-05-25 16:36

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 第三方不可信程序 安全意识不足 php源码审核 sql注射漏洞利用技巧 php源码分析 白盒测试

0人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-02-24: 细节已通知厂商并且等待厂商处理中
2014-02-24: 厂商已经确认,细节仅向厂商公开
2014-02-27: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-04-20: 细节向核心白帽子及相关领域专家公开
2014-04-30: 细节向普通白帽子公开
2014-05-10: 细节向实习白帽子公开
2014-05-25: 细节向公众公开

简要描述:

漏洞很多,一个一个提交太麻烦了,一起提交吧,希望能走个大厂商

详细说明:

第一处SQL注入

/app/group/action/do.php

code 区域
//编辑小组基本信息
case "edit_base":

$groupname = t($_POST['groupname']);
$groupdesc = tsClean($_POST['groupdesc']);

if($groupname=='' || $groupdesc=='') tsNotice("小组名称和介绍都不能为空!");

//过滤内容开始
aac('system')->antiWord($groupname);
aac('system')->antiWord($groupdesc);
//过滤内容结束

$isgroupname = $new['group']->findCount('group',array(
'groupname'=>$groupname,
));

$groupid = intval($_POST['groupid']);

$strGroup = $new['group']->find('group',array(
'groupid'=>$groupid,
));

if($isgroupname > 0 && $strGroup['groupname']!=$groupname) tsNotice('小组名称已经存在!');


$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'groupname' => trim($_POST['groupname']),
'groupdesc' => trim($_POST['groupdesc']),
'joinway' => intval($_POST['joinway']),
'ispost' => intval($_POST['ispost']),
'isopen' => intval($_POST['isopen']),
'ispostaudit' => intval($_POST['ispostaudit']),
));

tsNotice('基本信息修改成功!');

break;



在编辑小组信息时,groupname和groupdesc都没有过滤直接进入update的row参数,导致SQL注入。



第二处SQL注入:

/app/group/action/do.php

code 区域
//回复评论
case "recomment":

if($_POST['token'] != $_SESSION['token']) {
echo 1;exit;
}

$referid = intval($_POST['referid']);
$topicid = intval($_POST['topicid']);
$content = tsClean($_POST['content']);
$addtime = time();

$db->query("insert into ".dbprefix."group_topic_comment (`referid`,`topicid`,`userid`,`content`,`addtime`) values ('$referid','$topicid','$userid','$content','$addtime')");



回复评论处content没有过滤,导致insert行盲注。

证明如图,会延迟10s:

3.png





第三处SQL注入:

/app/group/action/topicedit.php

code 区域
/编辑帖子执行        
case "do":

if($_POST['token'] != $_SESSION['token']) {
tsNotice('非法操作!');
}

$topicid = intval($_POST['topicid']);
$title = trim($_POST['title']);
$typeid = intval($_POST['typeid']);
$content = cleanJs($_POST['content']);

$iscomment = intval($_POST['iscomment']);
......
if($strTopic['userid']==$userid || $strGroup['userid']==$userid || $TS_USER['user']['isadmin']==1 || $strGroupUser['isadmin']==1){

$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'typeid' => $typeid,
'title'=>$title,
'content'=>$content,
'iscomment' => $iscomment,
));



在编辑帖子是,title和content存在注入。

证明如图:

4.png





第四处SQL注入:

/app/photo/action/edit.php

code 区域
case "do":

if($_POST['token'] != $_SESSION['token']) {
tsNotice('非法操作!');
}

$photoid = intval($_POST['photoid']);
$photoname = tsClean($_POST['photoname']);
$photodesc = tsClean($_POST['photodesc']);

$new['photo']->update('photo',array(
'photoid'=>$photoid,
),array(
'photoname'=>$photoname,
'photodesc'=>$photodesc,
));

header('Location: '.tsUrl('photo','show',array('id'=>$photoid)));

break;



修改单个图片信息时,photoname和photodesc没有过滤,导致SQL注入。

证明如图:

5.png





第五处SQL注入

/app/tag/action/add.php

code 区域
case "do":

$objname = tsFilter($_POST['objname']);
$idname = tsFilter($_POST['idname']);
$objid = intval($_POST['objid']);
$tags = t($_POST['tags']);

$new['tag']->addTag($objname,$idname,$objid,$tags);

tsNotice('标签添加成功!');

break;



在函数addTag()中:

code 区域
$tagIndexCount = $this->findCount('tag_'.$objname.'_index',array(
$idname=>$objid,
'tagid'=>$tagid,
));



idname通过tsFilter()函数过滤,然后做了key,但是tsFilter()函数可被制表符顺利绕过,而key没有过滤,导致SQL注入。

证明如图:

1.png



在日志中看到注入结果:

2.png

漏洞证明:

见详细说明

修复方案:

严格过滤,过滤完全点

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-02-24 16:46

厂商回复:

谢谢您的反馈,由于未修复完全导致漏洞存在。
我们会进一步修复,完善,见官方安装包,再次感谢!

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-02-24 16:41 | HackBraid 认证白帽子 ( 普通白帽子 | Rank:1854 漏洞数:197 | 风暴网络安全空间: http://www.heysec.or...)
    0

    前排

  2. 2014-02-24 16:44 | xfkxfk 认证白帽子 ( 核心白帽子 | Rank:2299 漏洞数:341 | 呵呵!)
    0

    @HackBraid @疯狗 可不可以走个大厂商啊

登录后才能发表评论,请先 登录