2014-05-22:细节已通知厂商并且等待厂商处理中
2014-05-22:厂商已经确认,细节仅向厂商公开
2014-06-01:细节向核心白帽子及相关领域专家公开
2014-06-11:细节向普通白帽子公开
2014-06-21:细节向实习白帽子公开
2014-07-06:细节向公众公开
发缺陷文件:/app/buyer_order.app.php
在这里有一个cancel_order (取消订单功能)
function cancel_order()
{
//echo 'aaaabbb';
$order_id = isset($_GET['order_id']) ? intval($_GET['order_id']) : 0;
if (!$order_id)
{
echo Lang::get('no_such_order');
return;
}
$model_order =& m('order');
/* 只有待付款的订单可以取消 */
$order_info = $model_order->get("order_id={$order_id} AND buyer_id=" . $this->visitor->get('user_id') . " AND status " . db_create_in(array(ORDER_PENDING, ORDER_SUBMITTED)));
if (empty($order_info))
{
echo Lang::get('no_such_order');
return;
}
//echo 1113332555;exit();
if (!IS_POST)
{
header('Content-Type:text/html;charset=' . CHARSET);
$this->assign('order', $order_info);
$this->display('buyer_order.cancel.html');
}
else
{
$model_order->edit($order_id, array('status' => ORDER_CANCELED));
if ($model_order->has_error())
{
$this->pop_warning($model_order->get_error());
return;
}
/* 加回商品库存 */
$model_order->change_stock('+', $order_id);
$cancel_reason = (!empty($_POST['remark'])) ? $_POST['remark'] : $_POST['cancel_reason'];
/* 记录订单操作日志 */
$order_log =& m('orderlog');
$order_log->add(array(
'order_id' => $order_id,
'operator' => addslashes($this->visitor->get('user_name')),
'order_status' => order_status($order_info['status']),
'changed_status' => order_status(ORDER_CANCELED),
'remark' => $cancel_reason,
'log_time' => gmtime(),
));
其中$cancel_reason 变量直接写进去了log表当中
我们可以跟踪跟踪add这个函数
他首先调用了orderlog.model.php这个类
该类又继承了BaseModel类,在BaseModel类中可找到
add方法
function add($data, $compatible = false)
{
if (empty($data) || !$this->dataEnough($data))
{
return false;
}
$data = $this->_valid($data);
if (!$data)
{
$this->_error('no_valid_data');
return false;
}
$insert_info = $this->_getInsertInfo($data);
$mode = $compatible ? 'REPLACE' : 'INSERT';
$this->db->query("{$mode} INTO {$this->table}{$insert_info['fields']} VALUES{$insert_info['values']}");
$insert_id = $this->db->insert_id();
if ($insert_id)
{
if ($insert_info['length'] > 1)
{
for ($i = $insert_id; $i < $insert_id + $insert_info['length']; $i++)
{
$id[] = $i;
}
}
else
{
/* 添加单条记录 */
$id = $insert_id;
}
}
return $id;
}
直接写入数据库了 所以造成sql注入
触发过程,
必须先下订单,然后取消订单,抓包。。。。
如图。。。

漏洞证明:

修复方案:
版权声明:转载请注明来源 路人甲@乌云 漏洞回应 厂商回应:
危害等级:高
漏洞Rank:10
确认时间:2014-05-22 21:22
厂商回复:非常感谢您为shopex信息安全做的贡献
我们将尽快修复
非常感谢
暂无
版权与免责声明:
凡注明稿件来源的内容均为转载稿或由网友用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;

![英雄棋士团(预下载)?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/yingxiongqishituanyuxiazai.jpg)
![美食小当家?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/meishixiaodangjia.png)
![2047?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/2047.jpg)
![荣誉指挥官(预下载)?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/rongyuzhihuiguanyuxiazai.png)
![繁荣美食市场物语?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/fanrongmeishishichangwuyu.jpg)
![夸克浏览器 v4.2.1.138 好用的手机浏览器?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/kuakezuolanqi.jpg)
![移动办公软件 OfficeSuite Premium v10.18.28716 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/yidongbangongruanjian.jpg)
![乐秀视频编辑器 VideoShow v8.8.4 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/lexiushipinbianjiqi.png)
![X 浏览器 v3.3.9 一款小巧的安卓浏览器?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/x.jpg)
![安卓密码管理软件 Enpass v6.4.5.368 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/anzhuomimaguanliruanjian.jpg)
![差分复制同步 FastCopy-M v3.6.3.51 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/FastCopy3.png)
![多标签页拓展 Clover v3.5.2 Build 19809 精简绿色版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/Clover.png)
![文件重命名 Advanced Renamer v3.85 Lite 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/Advanced_Renamer.png)
![网络防火监控 GlassWire Elite v2.1.166 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/GlassWire.png)
![影音播放器 Daum Potplayer v1.7.20538 美化便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/PotPlayer.png)