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

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

缺陷编号: WooYun-2014-69146

漏洞标题: Ecmall的Sql注入第四弹

相关厂商: ShopEx

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

提交时间: 2014-07-21 11:18

公开时间: 2014-10-16 11:20

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签: 无

0人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-21: 细节已通知厂商并且等待厂商处理中
2014-07-26: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-09-19: 细节向核心白帽子及相关领域专家公开
2014-09-29: 细节向普通白帽子公开
2014-10-09: 细节向实习白帽子公开
2014-10-16: 细节向公众公开

简要描述:

又把20140618的补丁看了一看。

详细说明:

顺便把之前发的任意文件删除的确认了一下? 之前图片贴错了 现在更新过来了。



这个绝对是从官网上刚下的20140618的补丁, 这次真的别再说618的补丁已经修复了。

my_goods.app.php中



code 区域
function _upload_image($goods_id)
{
import('image.func');
import('uploader.lib');
$uploader = new Uploader();
$uploader->allowed_type(IMAGE_FILE_TYPE);
$uploader->allowed_size(SIZE_GOODS_IMAGE); // 400KB

/* 取得剩余空间(单位:字节),false表示不限制 */
$store_mod =& m('store');
$settings = $store_mod->get_settings($this->_store_id);
$upload_mod =& m('uploadedfile');
$remain = $settings['space_limit'] > 0 ? $settings['space_limit'] * 1024 * 1024 - $upload_mod->get_file_size($this->_store_id) : false;

$files = $_FILES['new_file'];
foreach ($files['error'] as $key => $error)
{
if ($error == UPLOAD_ERR_OK)
{
/* 处理文件上传 */
$file = array(
'name' => $files['name'][$key],
'type' => $files['type'][$key],
'tmp_name' => $files['tmp_name'][$key],
'size' => $files['size'][$key],
'error' => $files['error'][$key]
);
$uploader->addFile($file);
if (!$uploader->file_info())
{
$this->_error($uploader->get_error());
return false;
}

/* 判断能否上传 */
if ($remain !== false)
{
if ($remain < $file['size'])
{
$this->_error('space_limit_arrived');
return false;
}
else
{
$remain -= $file['size'];
}
}

$uploader->root_dir(ROOT_PATH);
$dirname = 'data/files/store_' . $this->_store_id . '/goods_' . (time() % 200);
$filename = $uploader->random_filename();
$file_path = $uploader->save($dirname, $filename);
$thumbnail = dirname($file_path) . '/small_' . basename($file_path);
make_thumb(ROOT_PATH . '/' . $file_path, ROOT_PATH . '/' . $thumbnail, THUMB_WIDTH, THUMB_HEIGHT, THUMB_QUALITY);

/* 处理文件入库 */
$data = array(
'store_id' => $this->_store_id,
'file_type' => $file['type'],
'file_size' => $file['size'],
'file_name' => $file['name'],
'file_path' => $file_path,
'add_time' => gmtime(),
);
$uf_mod =& m('uploadedfile');
$file_id = $uf_mod->add($data);



重点看这里

code 区域
$data = array(
'store_id' => $this->_store_id,
'file_type' => $file['type'],
'file_size' => $file['size'],
'file_name' => $file['name'],
'file_path' => $file_path,
'add_time' => gmtime(),
);



$file_id = $uf_mod->add($data)

然后就直接带入到了add函数中



code 区域
foreach ($files['error'] as $key => $error)
{
if ($error == UPLOAD_ERR_OK)
{
/* 处理文件上传 */
$file = array(
'name' => $files['name'][$key],





这里 $file['name'] 就是上传来的文件名。而且没做任何过滤就带入到了add函数中。

files 变量无视gpc。



来看看哪里调用了这函数 依旧在my_goods.app.php中

code 区域
function _save_post_data($data, $id = 0)
{
/* 保存商品 */
if ($id > 0)
{
// edit
if (!$this->_goods_mod->edit($id, $data['goods']))
{
$this->_error($this->_goods_mod->get_error());
return false;
}
$goods_id = $id;
}
else
{



省略点

code 区域
/* 保存商品图片 */
if (!$this->_upload_image($goods_id))
{
return false;
}





再看看哪里调用了。



还是这文件



code 区域
function edit()
{
$id = empty($_GET['id']) ? 0 : intval($_GET['id']);
if (!IS_POST)
{
$this->assign('goods', $this->_get_goods_info($id));



省略点

code 区域
else
{
/* 取得数据 */
$data = $this->_get_post_data($id);

/* 检查数据 */
if (!$this->_check_post_data($data, $id))
{
$this->show_warning($this->get_error());
return;
}

/* 保存商品 */
if (!$this->_save_post_data($data, $id))//欧克这里终于调用了
{
$this->show_warning($this->get_error());
return;
}

$this->show_message('edit_ok',







找到了调用这函数的地方 就来注入把。

漏洞证明:

code 区域
POST /web/ecmall/index.php?app=my_goods&act=edit&id=1 HTTP/1.1
Host: **.**.**.**





e1.jpg





成功了。

修复方案:

转义了再入库把。

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-10-16 11:20

厂商回复:

最新状态:

暂无


漏洞评价:

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

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

评价

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

    碎碎念。。。

  2. 2014-07-21 17:01 | 从容 ( 普通白帽子 | Rank:359 漏洞数:94 | Enjoy Hacking Just Because It's Fun | ...)
    0

    楼上是二货

  3. 2014-08-18 15:58 | 暗影侠客 ( 路人 | Rank:4 漏洞数:5 | xss,inject,ctrf)
    0

    我也想看,可惜看不到

  4. 2014-09-17 22:49 | Bloodwolf ( 实习白帽子 | Rank:47 漏洞数:8 | whoami)
    0

    碎碎念。。。

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