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

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

缺陷编号:wooyun-2013-044053

漏洞标题:Ecshop后台getshell-2

相关厂商:ShopEx

漏洞作者: Matt

提交时间:2013-11-26 19:52

修复时间:2014-02-24 19:53

公开时间:2014-02-24 19:53

漏洞类型:SQL注射漏洞

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-11-26: 细节已通知厂商并且等待厂商处理中
2013-11-27: 厂商已经确认,细节仅向厂商公开
2013-11-30: 细节向第三方安全合作伙伴开放
2014-01-21: 细节向核心白帽子及相关领域专家公开
2014-01-31: 细节向普通白帽子公开
2014-02-10: 细节向实习白帽子公开
2014-02-24: 细节向公众公开

简要描述:

Ecshop后台getshell-2

详细说明:

admin/database.php
if ($_REQUEST['act'] == 'dumpsql')
{省略若干
if (empty($_REQUEST['sql_file_name']))
{
$sql_file_name = $dump->get_random_name();
}
else
{省略若干
$sql_file_name = str_replace("0xa", '', trim($_REQUEST['sql_file_name'])); // 过滤 0xa 非法字符
$pos = strpos($sql_file_name, '.sql');
if ($pos !== false)
{
$sql_file_name = substr($sql_file_name, 0, $pos);
}
}省略若干
if (!@file_put_contents(ROOT_PATH . DATA_DIR . '/sqldata/' . $sql_file_name . '.sql', $dump->dump_sql))
{
sys_msg(sprintf($_LANG['fail_write_file'], $sql_file_name . '_' . $vol . '.sql'), 1, array(array('text'=>$_LANG['02_db_manage'], 'href'=>'database.php?act=backup')), false);
};

漏洞证明:

备份数据库可以直接写出shell
我们可以insert一个shell
然后备份制定的表
利用数据查询
执行
insert into ecs_wholesale values(2,1,'<?php phpinfo();?>',1,1,1)
然后在进行备份ecs_wholesale 这个表
然后我们备份文件名设置成1.php.sql
利用解析漏洞
就可以获得一个shell了

QQ截图20131125215853.jpg


2.jpg


3.jpg


修复方案:

你猜~~

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:3

确认时间:2013-11-27 09:29

厂商回复:

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

最新状态:

暂无


漏洞评价:

评论

  1. 2014-02-25 09:48 | c4rp3nt3r ( 实习白帽子 | Rank:70 漏洞数:10 | 人生的意义就在于从一个圈子跳到另一个更大...)

    没有解析漏洞后台也能拿shell...