破壳企业应急安全(防御方向)课程 应急响应 勒索病毒 挖矿木马 DDOS 日志分析

Finecms sql注入漏洞 #2

编号59753
Urlhttp://www.wooyun.org/bug.php?action=view&id=59753
漏洞状态厂商已经确认
漏洞标题Finecms sql注入漏洞 #2
漏洞类型SQL注射漏洞
厂商dayrui.com
白帽子想要减肥的胖纸
提交日期2014-05-07 11:37:00
公开日期2014-08-05 11:38:00
修复时间(not set)
确认时间2014-05-07 00:00:00
Confirm Spend0
漏洞标签php源码审核
关注数0
收藏数0
白帽评级
白帽自评rank15
厂商评级
厂商评rank5
漏洞简介
FineCMS是一款基于PHP+MySql开发的内容管理系统,采用MVC设计模式实现业务逻辑与表现层的适当分离,使网页设计师能够轻松设计出理想的模板,插件化方式开发功能易用便于扩展,支持自定义内容模型和会员模型,并且可以自定义字段,系统内置文章、图片、下载、房产、商品内容模型,系统表单功能可轻松扩展出留言、报名、书籍等功能,实现与内容模型、会员模型相关联,FineCMS可面向中小型站点提供重量级网站建设解决方案
漏洞细节

/dayrui/models/Search_model.php

if ($get['catid']) {
$more = FALSE;
$cat_field = $module['category'][$get['catid']]['field'];
$where[0] = '`'.$table.'`.`catid`'.($module['category'][$get['catid']]['child'] ? 'IN ('.$module['category'][$get['catid']]['childids'].')' : '='.$get['catid']);
if ($cat_field) {
foreach ($cat_field as $name => $field) {
if (isset($get[$name]) && $get[$name]) {
$more = TRUE;
$where[] = $this->_where($table_more, $name, $get[$name], $cat_field);
}
if (isset($_order_by[$name])) {
$more = TRUE;
$order_by[] = '`'.$table.'`.`'.$name.'` '.$_order_by[$name];
}
}
}
if ($more) $from.= ' LEFT JOIN `'.$table_more.'` ON `'.$table.'`.`id`=`'.$table_more.'`.`id`';
}

// 筛选空值
foreach ($where as $i => $t) {
if (!$t) {
unset($where[$i]);
}
}
$where = $where ? 'WHERE '.implode(' AND ', $where) : '';

// 最大数据量
$limit = (int)$module['setting']['search']['total'] ? ' LIMIT '.(int)$module['setting']['search']['total'] : '';

// 组合sql查询结果
$sql = "SELECT `{$table}`.`id` FROM {$from} {$where} ORDER BY ".implode(',', $order_by).$limit;


catid没有过滤。限制下为int就可以避免 intval($get['catid'])
其实order也没过滤,但是不好被利用 order数据应该用 input->get 过滤下

POC

http://v2.finecms.net/book/index.php?c=search&catid=3%20union%20all%20select%20version()%23


QQ20140507-1@2x.png

修复方案

intval($get['catid'])
input->get

状态信息 2014-05-07: 细节已通知厂商并且等待厂商处理中
2014-05-07: 厂商已经确认,细节仅向厂商公开
2014-05-10: 细节向第三方安全合作伙伴开放
2014-07-01: 细节向核心白帽子及相关领域专家公开
2014-07-11: 细节向普通白帽子公开
2014-07-21: 细节向实习白帽子公开
2014-08-05: 细节向公众公开
厂商回复ok
回应信息危害等级:低漏洞Rank:5 确认时间:2014-05-07 11:46