Phpwind远程任意代码执行漏洞

来源:岁月联盟 编辑:猪头三 时间:2010-12-29

 

简要描述:

Phpwind对于某些用户提交的参数过滤不严,导致可能的一个远程代码执行,普通前台恶意用户可以取得使用phpwind站点的权限

详细说明:

./phpwind7.2/thread.php中
 

InitGP(array('page','type','search','orderway','asc','special'));

…… //此处省略X行



$db_maxpage && $page > $db_maxpage && $page = $db_maxpage;

(int)$page<1 && $page = 1;



…… //此处也省略X行



$numofpage < 1 && $numofpage = 1;

if ($page > $numofpage) {

$page  = $numofpage;

}





最终Page这个变量进入了两次判断,都只是判断了大小,而后走入



if ($db_fcachenum && $page < $db_fcachenum && empty($urladd)) {



$fcachetime = pwFilemtime(D_P."data/bbscache/fcache_{$fid}_{$page}.php");

$lastpost = explode("t",$foruminfo['lastpost']);

if (!file_exists(D_P."data/bbscache/fcache_{$fid}_{$page}.php") || $lastpost[2]>$fcachetime && $timestamp-$fcachetime>$db_fcachetime) {

$fcache = 1;

} else {

$fcache = 2;

}

}



当开启了版块缓存的话,且D_P.data/bbscache/fcache_{$fid}_{$page}.php的创建时间在缓存有效期间内的话



……



include_once(D_P."data/bbscache/fcache_{$fid}_{$page}.php");

 

则毫不留情的包含了

良好的设计需要良好的实现,良好的实现依赖于人员良好的执行,你说呢?