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

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

缺陷编号:wooyun-2013-046483

漏洞标题:ECSHOP后台getshell漏洞

相关厂商:ShopEx

漏洞作者: Matt

提交时间:2013-12-19 18:03

修复时间:2014-03-19 18:04

公开时间:2014-03-19 18:04

漏洞类型:文件上传导致任意代码执行

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-12-19: 细节已通知厂商并且等待厂商处理中
2013-12-20: 厂商已经确认,细节仅向厂商公开
2013-12-23: 细节向第三方安全合作伙伴开放
2014-02-13: 细节向核心白帽子及相关领域专家公开
2014-02-23: 细节向普通白帽子公开
2014-03-05: 细节向实习白帽子公开
2014-03-19: 细节向公众公开

简要描述:

ECSHOP 后台getshell

详细说明:

admin/edit_languages.php
elseif ($_REQUEST['act'] == 'edit')
{
/* 语言项的路径 */
$lang_file = isset($_POST['file_path']) ? trim($_POST['file_path']) : '';
/* 替换前的语言项 */
$src_items = !empty($_POST['item']) ? stripslashes_deep($_POST['item']) : '';
/* 修改过后的语言项 */
$dst_items = array();
$_POST['item_id'] = stripslashes_deep($_POST['item_id']);
for ($i = 0; $i < count($_POST['item_id']); $i++)
{
/* 语言项内容如果为空,不修改 */
if (trim($_POST['item_content'][$i]) == '')
{
unset($src_items[$i]);
}
else
{
$_POST['item_content'][$i] = str_replace('\\\\n', '\\n', $_POST['item_content'][$i]);
$dst_items[$i] = $_POST['item_id'][$i] .' = '. '"' .$_POST['item_content'][$i]. '";';//这里改成了双引号 可以用${ phpinfo()}来执行代码~~
}
}

漏洞证明:

测试方法
打开 127.0.0.1/ec/admin/edit_languages.php
搜索1
随便找一下 修改 值为${ phpinfo()}
然后抓包 点击确认
查看下filepath的参数
file_path=..%2Flanguages%2Fzh_cn%2Fuser.php
就知道修改的语言文件的名字 完了之后访问即可

4.jpg

_20131219175145.jpg

_20131219175158.jpg

修复方案:

你猜

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:3

确认时间:2013-12-20 10:04

厂商回复:

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

最新状态:

暂无