该cms的核心配置文件/include/common.inc.php有缺陷 -------------------------------------------- //23行开始 @extract($_POST, EXTR_OVERWRITE); @extract($_GET, EXTR_OVERWRITE); unset($_POST, $_GET); ------------------------------------------------ 这里extract函数会导致变量覆盖,可能引发一系列的问题 我们看/yp/admin.php,这个文件名字是挺吓人的,还带admin。但是注册个企业用户就可以访问该页面了,我们看部分代码 ------------------------------------------------ //从头开始看 $rootdir = str_replace("\\", '/', dirname(__FILE__)); require $rootdir.'/include/common.inc.php';//通过extract可以覆盖$rootdir为任意值 require PHPCMS_ROOT.'/languages/'.$CONFIG['adminlanguage'].'/yp_admin.lang.php'; if(!$_username) showmessage($LANG['please_login'],$PHPCMS['siteurl'].'member/login.php?forward='.$PHP_URL); require $rootdir.'/web/admin/include/common.inc.php ';//触发远程文件包含 Phpcms 2007 暂无
该cms的核心配置文件/include/common.inc.php有缺陷 -------------------------------------------- //23行开始 @extract($_POST, EXTR_OVERWRITE); @extract($_GET, EXTR_OVERWRITE); unset($_POST, $_GET); ------------------------------------------------ 这里extract函数会导致变量覆盖,可能引发一系列的问题 我们看/yp/admin.php,这个文件名字是挺吓人的,还带admin。但是注册个企业用户就可以访问该页面了,我们看部分代码 ------------------------------------------------ //从头开始看 $rootdir = str_replace("\\", '/', dirname(__FILE__)); require $rootdir.'/include/common.inc.php';//通过extract可以覆盖$rootdir为任意值 require PHPCMS_ROOT.'/languages/'.$CONFIG['adminlanguage'].'/yp_admin.lang.php'; if(!$_username) showmessage($LANG['please_login'],$PHPCMS['siteurl'].'member/login.php?forward='.$PHP_URL); require $rootdir.'/web/admin/include/common.inc.php ';//触发远程文件包含 Phpcms 2007 暂无