通过/index/ajax/lang?lang=en,可以获取到一些敏感文件的信息。
关于这个漏洞,是由于旧版本对获取语言标识lang
的过滤不严可能导致安全问题。
官方已于2022年05月30日发布V1.3.4.20220530
版本,并修复了这个漏洞。
所以fastadmin框架版本低于V1.3.4.20220530
版本,就需要进行修复。
方法一:
修改application/config.php
大概第45
行的lang_switch_on
的对应值修改为false
即可。
// 是否开启多语言
'lang_switch_on' => false,
方法二:
1、application/common/behavior/Common.php
,添加以下代码
public function appInit()
{
$allowLangList = Config::get('allow_lang_list') ?? ['zh-cn', 'en'];
\think\Lang::setAllowLangList($allowLangList);
}
2.application/tags.php
,在app_init
对应的数组中添加以下代码
'app\\common\\behavior\\Common',
方法三:更新框架版本,V1.3.4.20220530以上