安全警示:Phpcms2007 远程文件包含漏洞
点击次数:40 次 发布日期:2008-11-20 22:11:00 作者:源代码网
|
源代码网推荐源代码网整理以下中国站长站(Chinaz.com)讯:从国内安全组织据悉,Phpcms 2007 远程文件包含漏洞,这里转一下是由于发现这个漏洞如果是白盒那要都仔细看代码才行
源代码网整理以下
//从头开始看 $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 ";//触发远程文件包含
|
源代码网整理以下注意看里面的2个require,第一个那引进的extract的代码,第2个require才导致漏洞的函数。
源代码网整理以下伪代码:
源代码网整理以下
|
源代码网整理以下<?php $rootdir = str_replace("\", "/", dirname(__FILE__));
源代码网整理以下//下面就是require $rootdir."/include/common.inc.php";引入的代码 @extract($_POST, EXTR_OVERWRITE); @extract($_GET, EXTR_OVERWRITE); unset($_POST, $_GET);
源代码网整理以下require $rootdir."/web/admin/include/common.inc.php ?>
|
源代码网整理以下如果这里用grep等软件去找静态的上跟踪这个的话障很再可能就会漏调着可能分析得到的结果是:
源代码网整理以下
$rootdir = str_replace("\", "/", dirname(__FILE__)); require $rootdir."/include/common.inc.php" require $rootdir."/web/admin/include/common.inc.php |
源代码网整理以下一看$rootdir被过滤了,就会认为这里安全了?
源代码网整理以下所以一味的grep等静态去找,是找不到这样的bug的上...
源代码网整理以下来个“马后炮”,对于这样的上用灰盒测试可能效果很好:就是先看代码看common.inc.php这个躯干里发现用变量覆盖,然后黑盒去找跑那些变量可以覆盖.....
源代码网整理以下目前,Phpcms官方尚未到此消息发表回应
 源代码网供稿. |