Guest werstey Posted November 29, 2015 Report Share Posted November 29, 2015 Прошу помощи, есть скрипт joker board 3 и у него есть уязвимость о которой знают все и давно Уязвимость в файле export.php раньше я его просто удалял, но теперь есть необходимость вылечить файл. Прошу помощи у тех кто понимает <? require_once("admin/conf.php"); if(ctype_digit(@$_GET['n']) && @$_GET['n']>0 && @$_GET['n']<25 && ctype_digit(@$_GET['c'])>=0 && ctype_digit(@$_GET['r'])>=0){ if(@$_GET['t']=="php")define("EXP_TYPE","php"); elseif(@$_GET['t']=="js")define("EXP_TYPE","js"); elseif(@$_GET['t']=="rss")define("EXP_TYPE","rss");else die(); $number=$_GET['n']; $cat=$_GET['c']; $city=$_GET['r']; $page_uri=EXP_TYPE."_".$number."_city".$city."_cat".$cat; if($JBSCACHE=="1"){ $flnm=$c_exp_dir.EXP_TYPE."/".$page_uri; ob_start(); if(!$cachedata=readData($flnm,$JBSCACHE_exp_expire)){ require_once("inc/exp.inc.php"); $cachedata=ob_get_contents();ob_clean(); writeData($flnm,$cachedata); }echo $cachedata; } else require_once("inc/exp.inc.php"); } else die($lang[1032]); ?> Link to post Share on other sites
Модератор files 2802 Posted November 29, 2015 Модератор Report Share Posted November 29, 2015 На ваш вопрос уже есть ответ на этом форуме. Ищите поиском Link to post Share on other sites
Guest werstey Posted November 29, 2015 Report Share Posted November 29, 2015 (edited) Всем спасибо, тему можно закрыть. Вот исправленный код, может кому пригодиться <? require_once("admin/conf.php"); if(ctype_digit(@$_GET['n']) && @$_GET['n']>0 && @$_GET['n']<25 && ctype_digit(@$_GET['c'])>=0 && ctype_digit(@$_GET['r'])>=0){ if(@$_GET['t']=="php")define("EXP_TYPE","php"); elseif(@$_GET['t']=="js")define("EXP_TYPE","js"); elseif(@$_GET['t']=="rss")define("EXP_TYPE","rss");else die(); $number=$_GET['n']; if (!preg_match("|^[\d]+$|", $number)){exit ("неверный формат запроса");} $cat=$_GET['c']; if (!preg_match("|^[\d]+$|", $cat)){exit ("неверный формат запроса");} $city=$_GET['r']; if (!preg_match("|^[\d]+$|", $city)) {exit ("неверный формат запроса");} $page_uri=EXP_TYPE."_".$number."_city".$city."_cat".$cat; if($JBSCACHE=="1"){ $flnm=$c_exp_dir.EXP_TYPE."/".$page_uri; ob_start(); if(!$cachedata=readData($flnm,$JBSCACHE_exp_expire)){ require_once("inc/exp.inc.php"); $cachedata=ob_get_contents();ob_clean(); writeData($flnm,$cachedata); }echo $cachedata; } else require_once("inc/exp.inc.php"); } else die($lang[1032]); ?> Edited November 29, 2015 by werstey Воланд 1 Link to post Share on other sites
Recommended Posts