### 简要描述: Cmseasy订单信息泄漏+数据库备份问题 ### 详细说明: 很简单。 用户生成的订单id有规律。。 先来官网的演示站测试下 http://demo.cmseasy.cn/ http://demo.cmseasy.cn/index.php?case=archive&act=orders&aid=18 产品名称: 易通企业网站管理系统 产品价格: 500 元 [<img src="https://images.seebug.org/upload/201409/23183246e287e32b9c1fccd7914afb6a7b54f1a8.png" alt="图片1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/23183246e287e32b9c1fccd7914afb6a7b54f1a8.png) 然后提交。 最后生成的订单url为 http://demo.cmseasy.cn/index.php?case=archive&act=orders&oid=20140923175406 2014年9月23日17时54分6秒 然后就没有别的限制了。。只要oid对 就能查看。 [<img src="https://images.seebug.org/upload/201409/2318331182b2642ed1e4b8a002f1c501f21b731a.png" alt="图片2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/2318331182b2642ed1e4b8a002f1c501f21b731a.png) 到时候如果找到一个目标站 然后写个小脚本 一秒一个。。 抢客户的好方法啊。。 下载了套最新的源码。 然后下了一个订单。 发现类似。。 http://localhost/index.php?case=archive&act=orders&oid=20140923180320-0-0- 2014年9月23日18时3分20秒 代码如下。 ```...
### 简要描述: Cmseasy订单信息泄漏+数据库备份问题 ### 详细说明: 很简单。 用户生成的订单id有规律。。 先来官网的演示站测试下 http://demo.cmseasy.cn/ http://demo.cmseasy.cn/index.php?case=archive&act=orders&aid=18 产品名称: 易通企业网站管理系统 产品价格: 500 元 [<img src="https://images.seebug.org/upload/201409/23183246e287e32b9c1fccd7914afb6a7b54f1a8.png" alt="图片1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/23183246e287e32b9c1fccd7914afb6a7b54f1a8.png) 然后提交。 最后生成的订单url为 http://demo.cmseasy.cn/index.php?case=archive&act=orders&oid=20140923175406 2014年9月23日17时54分6秒 然后就没有别的限制了。。只要oid对 就能查看。 [<img src="https://images.seebug.org/upload/201409/2318331182b2642ed1e4b8a002f1c501f21b731a.png" alt="图片2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201409/2318331182b2642ed1e4b8a002f1c501f21b731a.png) 到时候如果找到一个目标站 然后写个小脚本 一秒一个。。 抢客户的好方法啊。。 下载了套最新的源码。 然后下了一个订单。 发现类似。。 http://localhost/index.php?case=archive&act=orders&oid=20140923180320-0-0- 2014年9月23日18时3分20秒 代码如下。 ``` $this->orders = new orders(); .......无关代码 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']; ``` 添加了一个id。不过也不是很难。 去注册一个id,然后生成下订单,记下id号。然后从大到小。 毕竟只需要爆破在线率高的那几个小时,就可以了 生成oid。进行查看他人订单。 而且,不手动加个user,我都不知道他的注册在什么地方!!!!!! id直接按0 应该也会有收获。 ### 漏洞证明: 首先数据库备份 可以csrf 然后 数据库备份文件可短文件名利用. 直接看 http://wooyun.org/bugs/wooyun-2014-064004