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

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

缺陷编号:wooyun-2014-051049

漏洞标题:tccms v8 注入一枚

相关厂商:teamcen.com

漏洞作者: ′雨。

提交时间:2014-02-19 14:03

修复时间:2014-05-20 14:03

公开时间:2014-05-20 14:03

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

过滤不严。

详细说明:

在app/controller/picture.class.php 中

public $objName = 'picture';
public function all() {

$_Obj = M($this->objName);
$categoryObj = M("category");
$_Obj->pageSize = 20;
$where = "1=1";
$key = $_POST['key'];
$cid = $_GET['cid'];
if ($key != "") {
$where .= " and id = '" . $key . "' or title like '%$key%'";
}
if (!empty($cid) && $cid != "") {
$where .= " and classid = " . $cid;
}
if ($_GET["type"] == "user") {
$where .= " and uid = " . $_COOKIE['userId'];
}
if (isset($_GET['yz'])) {
$where .= " AND yz =".$_GET['yz'];
}
if (isset($_GET['levels'])) {
$where .= " AND levels =".$_GET['levels'];
}
if (isset($_GET['special'])) {
$where .= " AND special =".$_GET['special'];
}
if (isset($_GET['top'])) {
$where .= " AND top =".$_GET['top'];
}
if (isset($_GET['flashpic'])) {
$where .= " AND flashpic =".$_GET['flashpic'];
}

$_Obj->setSortId();
$orderBy = $_GET['sortId'];
$_objAry = $_Obj->where($where)->orderby("id ".$orderBy)->getList();


然后就带入查询咯。
if ($key != "") {
$where .= " and id = '" . $key . "' or title like '%$key%'";
只有这个加了单引号 剩下的其他的都没单引号。
但是$_GET 连逗号都过滤了。 不太好用来延时。
所以还是用$_COOKIE的那个把。,
过滤了and 和 or 就用&& 来代替吧。

漏洞证明:

1.jpg


2.jpg


3.jpg

修复方案:

过滤呗。

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-02-19 18:10

厂商回复:

已经处理,TCCMS全体开发感谢检测

最新状态:

暂无