CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

admin 2015年4月21日01:14:25评论415 views字数 239阅读0分47秒阅读模式
摘要

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

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

缺陷编号: WooYun-2014-67464

漏洞标题: CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包 CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

相关厂商: cmseasy

漏洞作者: HackBraidCmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

提交时间: 2014-07-05 00:55

公开时间: 2014-10-03 00:56

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 逻辑错误 php源码审核 php源码分析 白盒测试

3人收藏


漏洞详情

披露状态:

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

简要描述:

补了20140605

详细说明:

首先是个注入,这个漏洞比较无语,真正的无视过滤,没引号保护。。

漏洞位于bbs/add-archive.php:

code 区域
<?php

require_once 'bbs_public.php';
//验证用户登陆相关操作
$admin = new action_admin();
$admin->check_login();

$category = db_bbs_category::getInstance();
$category_data = $category->getAll();

$cid = isset($_GET['cid']) ? intval($_GET['cid']) : 1 ;

$label = db_bbs_label::getInstance();
$lable_data = $label->getAll();

if(isset($_POST['submit'])){
if(strtolower(trim($_POST['verify'])) != strtolower($_SESSION['verify'])){
action_public::turnPage('index.php','验证码输入错误!');
}
$archive = db_bbs_archive::getInstance();

unset($_POST['submit']);
unset($_POST['verify']);

$_POST['username'] = $_COOKIE['login_username'];
$_POST['userid'] = $admin->userid;
$_POST['ip'] = $_SERVER['REMOTE_ADDR'];
$_POST['addtime'] = mktime();

if($id = $archive->inserData($_POST)){ //这里直接将表单中的值交给了insertData函数,我们跟进
action_public::turnPage('archive-display.php?aid='.$id,'文章添加成功');
}else{
action_public::turnPage('index.php','添加失败,请联系我们!');
}
}
?>

inserData函数代码:

code 区域
public function inserData($data){
$r = $this->odb->insert($this->tblName,$data);//继续跟进
if($r)
return $this->odb->getInsertId();
else
return false;
}

insert函数代码:

code 区域
public function insert($table, $data)
{
$sql = $this->getInsertString($table, $data);//这里跟进
return $this->execSql($sql);//执行sql语句
}

getInsertString函数代码:

code 区域
public function getInsertString($table, $data)
{
$n_str = '';
$v_str = '';
$table = $this->filterString($table);
foreach ($data as $k => $v)
{
$n_str .= $this->filterString($k).',';//对key进行filter,跟进filter函数
$v_str .= "'".$this->filterString($v)."',";
}
$n_str = preg_replace( "/,$/", "", $n_str );
$v_str = preg_replace( "/,$/", "", $v_str );
$str = 'INSERT INTO '.$table.' ('.$n_str.') VALUES('.$v_str.')';
return $str;
}

filterString函数代码:

code 区域
else {
$ret = @mysqli_real_escape_string($this->con, $str);//对单引号、双引号和一些字符进行了转义。

if ( strlen($str) && !isset($ret) ) {
$r = $this->checkConnection();
if ($r !== true) {
$this->closeDB();
$ret = $str;
}
}

return $ret;
}

构造查询语句时没有加引号保护,导致注入。

另外就是验证码的问题打包下发出来吧,见漏洞证明。

漏洞证明:

code 区域
SQL注入漏洞

key的insert注入,构造exp还是费了点劲,看下结果吧:

1、bbs上发帖:

CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

2、抓包在content后写上exp:

CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

3.forward后看我们的帖子:

CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

code 区域
验证码漏洞打包

首先以论坛发帖为例。发帖最下方需要验证码验证,我们输入验证码后点击发帖后抓包,这个包会验证下验证码是否正确,我们forward此包,再将第二个包放到repeater里即可实现重放攻击,造成无限制刷帖。

1.要重放的包:

CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

2.刷帖结果:

CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

存在同样的问题还有论坛回复处:

CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

商品评论处:

CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包

修复方案:

1.注入点加个引号保护;

2.验证码的问题也很严重,毕竟电商被刷帖或者刷评论(好评?差评?)还是有些危害的。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-07-07 09:55

厂商回复:

感谢,理解修正

最新状态:

暂无


漏洞评价:

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

漏洞评价(共0人评价):

登陆后才能进行评分


评价

  1. 2014-07-05 01:07 | zj1244 ( 普通白帽子 | Rank:279 漏洞数:35 | 小葵)

    1

    膜拜师傅

  2. 2014-07-05 01:21 | roker ( 普通白帽子 | Rank:372 漏洞数:109 )

    0

    都这么晚还不睡

  3. 2014-07-05 01:27 | Mosuan ( 普通白帽子 | Rank:449 漏洞数:175 | 尘封此号,不装逼了,再见孩子们。by Mosua...)

    0

    夜猫子居多

  4. 2014-07-05 05:58 | 从容 ( 普通白帽子 | Rank:415 漏洞数:99 | 哇啦啦啦啦啦 我的宝贝 | ..)

    0

    @zj1244 你是他徒弟?

  5. 2014-07-05 08:29 | 寂寞的瘦子 ( 普通白帽子 | Rank:242 漏洞数:53 | ☯☯☯☯☯☯☯☯☯☯)

    0

    我擦,牛

  6. 2014-07-05 15:19 | wefgod ( 核心白帽子 | Rank:1829 漏洞数:183 | 力不从心)

    0

    牛逼

  7. 2014-07-05 15:27 | HackBraid CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包 ( 核心白帽子 | Rank:1914 漏洞数:304 | 最近有人冒充该账号行骗,任何自称HackBrai...)

    0

    @wefgod 很水的。。。不及你的千分之一牛

  8. 2014-07-05 15:54 | wefgod ( 核心白帽子 | Rank:1829 漏洞数:183 | 力不从心)

    0

    @HackBraid 我没你们想的那么厉害啊,都把我神话了,回头会让你们失望

  9. 2014-07-29 09:49 | wefgod ( 核心白帽子 | Rank:1829 漏洞数:183 | 力不从心)

    0

    很给力啊。成为大牛了

  10. 2014-07-30 16:57 | HackBraid CmsEasy最新 V5.5-UTF8 正式版多处漏洞打包 ( 核心白帽子 | Rank:1914 漏洞数:304 | 最近有人冒充该账号行骗,任何自称HackBrai...)

    0

    @wefgod ...水洞,本来就想研究下刷帖,顺便看了下那块源码

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin