BUGTRAQ ID: 30012
Pivot是一款基于WEB的帮助用户维护动态站点的工具。
Pivot的search.php文件没有正确过滤对t参数输入的便返回用于显示文件:
...
// Set the template for the tags page
if (!isset($Pivot_Vars['t']) || empty($Pivot_Vars['t'])) {
if (isset($Weblogs[$Current_weblog]['extra_template']) && ($Weblogs[$Current_weblog]['extra_template']!="") ) {
$template = $Weblogs[$Current_weblog]['extra_template'];
} else {
$template = $Weblogs[$Current_weblog]['archive_template'];
}
} else {
$template = $Pivot_Vars['t'];
}
$template_html = load_template($template);
...
't' argument is passed to load_template() function without checks
see load_template() function in /modules/module_parser.php - lines 778-797
...
function load_template($basename) {
global $template_cache, $Paths;
$filename = $Paths['templates_path'].$basename;
if (isset($template_cache[$basename])) {
return $template_cache[$basename];
} else {
if (!(file_exists($filename))) {
$filename = $Paths['templates_path']."entrypage_template.html";
}
$filetext=implode("", file($filename)); // <----------------------------|_ lol !!!
$template_cache[$basename]=$filetext;
return $filetext;
}
}
...
参数传送给了file()函数,因此无论php设置如何,都可以通过目录遍历攻击在屏幕看到php文件,包括包含有管理员凭据的配置文件pv_cfg_settings.php。
Pivot 1.40.5
Pivot
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
<a href=http://www.pivotlog.net/ target=_blank>http://www.pivotlog.net/</a>
暂无评论