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

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

缺陷编号: WooYun-2011-02654

漏洞标题: ecmall本地文件包含

相关厂商: ShopEx

漏洞作者: Frears

提交时间: 2011-08-09 09:04

公开时间: 2011-09-08 09:04

漏洞类型: 文件包含

危害等级: 高

自评Rank: 10

漏洞状态: 厂商已经确认

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

Tags标签: 文件包含漏洞 文件包含漏洞利用技巧 php源码审核 php文件包含

0人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

过虑不严导致存存本地文件包含漏洞,在GPC没打开时、上传头像包含即可拿shell

详细说明:

最近看到乌云上暴了一个ecmall全版文件包函漏洞、其实自己早在去年做ecmall二次开发的时候也发现了一个本地文件包函漏洞和xss、不知道和乌云上的哪个是不是一样。

出现的地方比较杯具,是一个核心文件里面、在eccore/ecmall.php文件里。大概78行左右吧。

code 区域
//只判断是app是否设置,然后去掉了两端空格
$app = isset($_REQUEST['app']) ? trim($_REQUEST['app']) : $default_app;
$act = isset($_REQUEST['act']) ? trim($_REQUEST['act']) : $default_act;
//很明显可以看出$app是我们可以控制的、由于后面连接了.app.php所以利用的时候要截断。
$app_file = $config['app_root'] . "/{$app}.app.php";
//应为是本地包函、所以is_file是为真的
if (!is_file($app_file))
{
exit('Missing controller');
}
//这里直接就包函了,这么底级的漏洞、我都不好说什么了.
require($app_file);

漏洞证明:

修复方案:

严格过虑文件件入口既可。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2011-08-09 11:03

厂商回复:

谢谢提供,正在处理中~

最新状态:

2011-09-13:ecmall补丁已经更新!!


漏洞评价:

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

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

评价

  1. 2011-08-10 21:36 | 少帅 ( 实习白帽子 | Rank:59 漏洞数:14 )
    4

    坐等.!!

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