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

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

缺陷编号:wooyun-2014-048395

漏洞标题:TCCMS SQL注入漏洞3(盲注鸡肋)

相关厂商:teamcen.com

漏洞作者: xfkxfk

提交时间:2014-01-09 18:17

修复时间:2014-04-09 18:22

公开时间:2014-04-09 18:22

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

TCCMS SQL注入漏洞3(盲注)

详细说明:

在删除文章时:
app/controller/news.class.php

public function delete() {
$_Obj = M($this->objName);
$newsObj = M("content");
$msgObj = new Msg();
$id = $_GET['id'];
$idAry = $_POST['id'];//注入
$idStr = count($idAry) == 0 ? intval($id) : implode(",", $idAry);
$newIdAry = explode(",", $idStr);
$idSize = count($newIdAry);
if (empty($newIdAry[0]) && empty($id)) {
$msgObj->addMsg('error', Config::lang("PLEASECHOOSEDELETEDATA"));
}
for ($i = 0; $i < $idSize; $i++) {
$news = get("news",$newIdAry[$i]);
if (Authen::checkIsSelfData($news->uid)) {
$newsObj->deleteById($newIdAry[$i]);
$_Obj->deleteById($newIdAry[$i]);
} else {
$msgObj->addMsg('error', Config::lang("CANBEDELNOTSELFNEWS"));
}
}
if (!$msgObj->hasMsg) {
$newsObj->delete();
$_Obj->delete();
}
header('Location: index.php?ac=news_all&type=user&page='.$_GET["page"]);
exit;
}


跟进deleteById。system/core/model.class.php:

public function deleteById($id) {
$this->db->Delete($this->table, $this->PRI, $id);
}


POST的id未过滤。

漏洞证明:

先看看我们的文章:

1.png


然后我们构造错误的语句,来删除:

2.png


虽然会提示成功删除一个文章,但实际上文章并没有被删除,条件不成立。
构造正确的条件:

3.png


文章被成功删除。
数据库记录:

4.png

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-01-13 10:30

厂商回复:

Thanks
focus

最新状态:

暂无