织梦(DEDE)CMS V5.3 覆盖任意变量导致远程包含漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

织梦内容管理系统,最强大的中文开源CMS网站管理项目,使用PHP+MySQL架构。 在文件include/common.inc.php中: <code>foreach($_REQUEST as $_k=>$_v) //第10行 { if( strlen($_k)>0 && eregi('^(_|cfg_|GLOBALS)',$_k) && !isset($_COOKIE[$_k]) ) { exit('Request var not allow!'); } } //如果以cfg_开头的变量以cookie方式提交就可以通过。 if($_FILES) //第154行 { require_once(DEDEINC.'/uploadsafe.inc.php'); }</code> 文件uploadsafe.inc.php主要代码: <code>$keyarr = array('name','type','tmp_name','size'); //第15行 foreach($_FILES as $_key=>$_value) { foreach($keyarr as $k) { if(!isset($_FILES[$_key][$k])) { exit('Request Error!'); } } $$_key = $_FILES[$_key]['tmp_name'] = str_replace("\\\\","\\",$_FILES[$_key]['tmp_name']); //结合上面的通过cookie提交变量和这里的覆盖变量,就可以覆盖任意的变量。</code> 文件plus/ flink_add.php代码如下: require_once(dirname(__FILE__)."/../include/common.inc.php"); //显示模板(简单PHP文件) include_once($cfg_basedir.$cfg_templets_dir."/plus/flink-add.htm"); 覆盖掉变量$cfg_basedir就可以远程包含...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息