当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-038312

漏洞标题:fluxbb存在PHP本地文件包含漏洞

相关厂商:fluxbb

漏洞作者: Code_Sec

提交时间:2013-09-27 10:44

修复时间:2013-12-26 10:44

公开时间:2013-12-26 10:44

漏洞类型:文件包含

危害等级:中

自评Rank:5

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-09-27: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-12-26: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

很明显的本地包含

详细说明:

文件:install.php
// If we've been passed a default language, use it
$install_lang = isset($_REQUEST['install_lang']) ? pun_trim($_REQUEST['install_lang']) : 'English';
// If such a language pack doesn't exist, or isn't up-to-date enough to translate this page, default to English
if (!file_exists(PUN_ROOT.'lang/'.$install_lang.'/install.php'))
$install_lang = 'English';
require PUN_ROOT.'lang/'.$install_lang.'/install.php';
if (file_exists(PUN_ROOT.'config.php'))
{
// Check to see whether FluxBB is already installed
include PUN_ROOT.'config.php';
// If we have the 1.3-legacy constant defined, define the proper 1.4 constant so we don't get an incorrect "need to install" message
if (defined('FORUM'))
define('PUN', FORUM);
// If PUN is defined, config.php is probably valid and thus the software is installed
if (defined('PUN'))
exit($lang_install['Already installed']);
很明显$install_lang存在本地文件包含漏洞,且安装完后该文件不会主动删除
函数pun_trim:
function pun_trim($str, $charlist = false)
{
return is_string($str) ? utf8_trim($str, $charlist) : '';
}
跟进utf8_trim:
function utf8_trim( $str, $charlist=false)
{
if($charlist === false)
return trim($str);
return utf8_ltrim(utf8_rtrim($str, $charlist), $charlist);
}
最终pun_trim($_REQUEST['install_lang'])变成:
trim($_REQUEST['install_lang'])
所以对于漏洞利用没啥影响

漏洞证明:

1.jpg

修复方案:

最好不修复^_^

版权声明:转载请注明来源 Code_Sec@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝