任意文件读取漏洞(CVE-2024-7928)修复

embedded/2024/11/27 18:37:47/

验证CVE-2024-7928问题是否存在可以使用如下方法:

https://域名/index/ajax/lang?lang=..//..//目录名/文件名(不带后缀) 

目录名是该项目的一个目录,这里目录位置为nginx设置站点目录为基准,网上两层目录。

文件名是目录下的项目文件,通常是包含项目参数初始化的文件。

假定目录名为application,文件名为database.php,那么验证链接为:

https://域名/index/ajax/lang?lang=..//..//application/database

在浏览器中验证效果如下:

该漏洞源于FastAdmin 1.3.3.20220121版本,该漏洞影响了文件/index/ajax/lang的一些未知功能。通过操作参数lang可以导致路径遍历。针对此漏洞,可参考FastAdmin修复建议,对代码进行修改。(官网地址:https://www.fastadmin.net/news/94.html)

官方提供了两种修复方法,一种是关闭多语言功能,一种是手动修改代码进行修复。

第一种修复方法;

修改application/config.php大概第45行的lang_switch_on的对应值修改为false即可。

打开application/common/behavior/Common.php,添加以下代码
 public function appInit()
    {
        $allowLangList = Config::get('allow_lang_list') ?? ['zh-cn', 'en'];
        \think\Lang::setAllowLangList($allowLangList);
    }
    
    
然后打开application/tags.php,在app_init对应的数组中添加以下代码

'app\\common\\behavior\\Common',

fastadmin另有安全提示如下:

建议启用application/config.php中的cookie配置中的httponly设置为true,如果是https,建议secure也配置为true。


FastAdmin目录安全配置,如下:

生产环境首先全部设置为555权限,
runtime目录设置为755权限
public/uploads目录设置为755权限并禁用PHP脚本执行

禁用后台admin模块,启用独立的后台登录入口,最新版已经默认禁用 admin 模块。
新增网站配置时务必绑定public目录,同时启用open_basedir限制只允许FastAdmin的根目录,例如:fastcgi_param PHP_VALUE "open_basedir=/var/www/fastadmin/:/tmp/:/proc/";
修改php.ini,禁用不安全的函数,配置如disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru


http://www.ppmy.cn/embedded/140972.html

相关文章

AutoDL安装docker问题

在AutoDL上租了卡,安装docker遇到一些问题: 1.执行 sudo docker run hello-world 报错 docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决方法 先查看docker有没有启动,…

【如何获取股票数据02】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深A股历史交易数据获取实例演示及接口API说明文档

最近一两年内,股票量化分析逐渐成为热门话题。而从事这一领域工作的第一步,就是获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的主要任…

滑动窗口(六)最大连续1的个数 III

1004. 最大连续1的个数 III 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 示例 1: 输入:nums [1,1,1,0,0,0,1,1,1,1,0], K 2 输出:6 解释:[1,1,1,…

【5】STM32·FreeRTOS·临界段保护与调度器挂起

目录 一、临界段代码保护简介 二、临界段代码保护函数介绍 2.1、调用示例 2.2、内部实现 三、任务调度器的挂起和恢复 3.1、调用示例 3.2、内部实现 一、临界段代码保护简介 什么是临界段:临界段代码也叫做临界区,是指那些必须完整运行&#xff…

HDR视频技术之四:HDR 主要标准

HDR 是 UHD 技术中最重要维度之一,带来新的视觉呈现体验。 HDR 技术涉及到采集、加工、传输、呈现等视频流程上的多个环节,需要定义出互联互通的产业标准,以支持规模化应用和部署。本文整理当前 HDR 应用中的一些代表性的国际标准。 1 HDR 发…

【卷积神经网络;深度学习;滑坡检测;遥感|论文解读1】滑坡检测特征增强框架——AMU-Net

【卷积神经网络;深度学习;滑坡检测;遥感|论文解读1】滑坡检测特征增强框架——AMU-Net 【卷积神经网络;深度学习;滑坡检测;遥感|论文解读1】滑坡检测特征增强框架——AMU-Net 文章目录 【卷积神经网络&…

【Java网络编程】详解常见servlet的API使用

servlet常用类和接口 在Java Servlet中,主要涉及的几个类和接口包括: HttpServlet:这是一个抽象类,提供了处理HTTP请求的基本功能。你通常会继承这个类来创建自己的Servlet。 HttpServletRequest:这个接口是ServletR…

Doris 数据集成 LakeSoul

Doris 数据集成 LakeSoul 作为一种全新的开放式的数据管理架构,湖仓一体(Data Lakehouse)融合了数据仓库的高性能、实时性以及数据湖的低成本、灵活性等优势,帮助用户更加便捷地满足各种数据处理分析的需求,在企业的大数据体系中已经得到越来越多的应用。 在过去多个版本…