漏洞概要
关注数(24)
关注此漏洞
漏洞标题:hdcms 任意文件包含漏洞
提交时间:2015-01-16 19:21
修复时间:2015-04-16 19:22
公开时间:2015-04-16 19:22
漏洞类型:文件包含
危害等级:低
自评Rank:5
漏洞状态:未联系到厂商或者厂商积极忽略
Tags标签:
无
漏洞详情
披露状态:
2015-01-16: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-04-16: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
案例
[CMS案例] 四平市教育学院 浏览:595 12-19
[CMS案例] 四川天锐科技有限公司 浏览:328 12-19
[CMS案例] 武汉高能激光设备制造有限公司 浏览:141 12-19
[CMS案例] 四川智诚永信电子工程有限公司 浏览:124 12-19
[CMS案例] 十环大数据 浏览:159 12-19
[CMS案例] 广东陈村花卉世界有限公司 浏览:145 12-19
[CMS案例] 北京合悦达科技有限公司 浏览:96 12-19
[CMS案例] 北京合悦达科技有限公司 浏览:89 12-19
[CMS案例] 包头启博科技 浏览:137 12-19
[CMS案例] 成都市百芬百美容有限公司 浏览:73 12-19
[框架案例] hdphp真强悍 浏览:178 12-19
[CMS案例] 俯瞰航拍科技 浏览:279 12-16
[CMS案例] 锦庐艺术馆 浏览:217 12-16
[CMS案例] 武汉高能激光设备制造有限公司 浏览:183 12-16
[CMS案例] 乐左网-致力做最全的分享平台,最优的技术博客 浏览:235 12-16
[CMS案例] 昆明婚庆公司 浏览:247 12-16
详细说明:
整个程序是thinkphp的改版
首先是初始化应用,里面包含一个路由解析Route::parseUrl();
这里$_GET[C("VAR_MODULE")] 就是module值,$_GET[C('VAR_CONTROLLER')] 是controller值,$_GET[C('VAR_ACTION')]就是action值。最后调用了一个serconst方法
这里面定义了MODULE,CONTROLLER,ACTION。 到这里为止,MODULE,CONTROLLER,ACTION都没有任何过滤。
在继续看init方法中后面部分:
首先定义了modulepath :
define('MODULE_PATH',APP_PATH.$_GET[C('VAR_GROUP')].'/'.MODULE.'/');
这样MODULE_PATH可以被控制了,再看后面的define操作:
define('MODULE_CONFIG_PATH', MODULE_PATH . 'Config/');
is_file(MODULE_CONFIG_PATH . 'config.php') and C(require(MODULE_CONFIG_PATH . 'config.php'));
这里require(MODULE_CONFIG_PATH . 'config.php') 就可以被直接利用实现文件包含
poc:index.php?m=../test.jpg%00

漏洞证明:
poc:index.php?m=../test.jpg%00

修复方案:
版权声明:转载请注明来源 路人甲@乌云
漏洞回应