Pluck-CMS-Pluck-4.7.16 远程代码执行漏洞(CVE-2022-26965)

前言

CVE-2022-26965 是一个影响 Pluck CMS 4.7.16 版本的远程代码执行(RCE)漏洞。该漏洞允许经过身份验证的用户通过 /admin.php?action=themeinstall 的主题上传功能执行任意代码。

漏洞细节

在 Pluck CMS 的管理界面中,管理员可以上传主题文件。然而,该功能存在一个安全缺陷,允许攻击者上传恶意文件,如带有恶意代码的 PHP 文件。一旦上传并激活这些文件,攻击者就可以在服务器上执行任意代码。

漏洞利用

  1. 获取管理员权限:攻击者需要首先获取管理员账户的访问权限。
  2. 上传恶意主题:利用 /admin.php?action=themeinstall 页面上传包含恶意代码的主题文件。
  3. 执行代码:通过访问上传的恶意文件,攻击者可以在服务器上执行任意代码,可能会导致服务器被完全控制。

解决方案

为了解决这个问题,建议采取以下措施:

  1. 更新 Pluck CMS:确保使用最新版本的 Pluck CMS,该版本应该修复了此漏洞。
  2. 限制上传类型:配置服务器以限制允许上传的文件类型,避免上传可执行文件。
  3. 加强身份验证:确保管理员账户具有强密码,并启用双因素身份验证。

春秋云镜靶场是一个专注于网络安全培训和实战演练的平台,旨在通过模拟真实的网络环境和攻击场景,提升用户的网络安全防护能力和实战技能。这个平台主要提供以下功能和特点:

实战演练:

提供各种网络安全攻防演练场景,模拟真实的网络攻击事件,帮助用户在实际操作中掌握网络安全技术。
场景涵盖Web安全、系统安全、网络安全、社工攻击等多个领域。

漏洞复现:

用户可以通过平台对已知的安全漏洞进行复现,了解漏洞的产生原因、利用方法和修复措施。
通过实战操作,帮助用户掌握漏洞利用和防护的技能。

教学培训:

提供系统化的网络安全课程,从基础到高级,覆盖多个安全领域,适合不同水平的用户。
包含理论讲解和实战操作,帮助学员全面提升网络安全知识和实战能力。

竞赛与评测:

定期举办网络安全竞赛,如CTF(Capture The Flag)比赛,激发学员的学习兴趣和动力。
提供个人和团队的安全能力评测,帮助学员了解自己的安全技能水平。

资源共享:

平台提供丰富的学习资源,包括教程、工具、案例分析等,方便用户随时查阅和学习。
用户可以在社区中分享经验和资源,互相交流和学习。

春秋云镜靶场适合网络安全从业人员、学生以及对网络安全感兴趣的个人,通过在平台上进行不断的学习和实战演练,可以有效提升网络安全技能和防护能力。

介绍

Pluck CMS 是一个小型、易用的内容管理系统(CMS),主要用于管理小型网站。它基于PHP构建,不需要数据库支持,非常适合个人网站和小型企业使用。Pluck 4.7.16 是其版本之一,以下是关于 Pluck CMS 4.7.16 的详细介绍:

概述

  • 名称: Pluck CMS
  • 版本: 4.7.16
  • 主要语言: PHP
  • 数据库: 不需要数据库(使用文件系统存储数据)

主要功能

  1. 内容管理:

    • 创建和管理页面内容。
    • 支持富文本编辑器,便于内容格式化。
  2. 图片管理:

    • 上传和管理图片。
    • 插入图片到页面内容中。
  3. 博客功能:

    • 发布博客文章。
    • 管理和编辑博客内容。
  4. 模块扩展:

    • 支持安装和管理插件,扩展系统功能。
  5. 主题支持:

    • 更换和管理网站主题。
    • 自定义网站外观和布局。
  6. 多语言支持:

    • 支持多种语言,便于国际化使用。

安装步骤

  1. 下载 Pluck CMS:

    • 从官方网站或 GitHub 仓库下载 Pluck 4.7.16 版本。
  2. 解压文件:

    • 将下载的压缩包解压到服务器的web目录中。
  3. 设置权限:

    • 确保 web 服务器对 data 目录具有写权限。
  4. 运行安装程序:

    • 在浏览器中访问 http://yourdomain.com/install.php,按照安装向导完成安装过程。

安全性

Pluck CMS 由于不依赖数据库,简化了安装和配置过程,但也带来一些安全挑战。以下是一些常见的安全措施:

  1. 权限设置:

    • 确保只有 web 服务器能够写入 data 目录,其他用户没有写权限。
  2. 输入验证:

    • 对用户输入进行严格的验证和过滤,防止代码注入和跨站脚本攻击(XSS)。
  3. 更新和补丁:

    • 定期检查并安装 Pluck CMS 的更新和安全补丁。
  4. 备份:

    • 定期备份网站文件和数据,以防止数据丢失。

漏洞复现

打开靶场

来到首页,点击 admin 登录 

默认密码是 admin

登录成功后页面如下 

点击选择主题(图片试了下不行)

左边点击下载主题 

可以看到这里要咱上传文件

下载一个轻量主题包

链接icon-default.png?t=N7T8https://github.com/billcreswell/miniport先编码一下木马,再通过 PHP 生成一个一句话木马文件

file_put_contents 是一个用于将数据写入文件的 PHP 函数。它的基本用法是将一个字符串写入指定的文件中,如果文件不存在则创建它。这个函数具有以下语法: 

file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] ) : int|false
  • $filename 是要写入数据的目标文件名。
  • $data 是要写入的数据,可以是字符串、数组或者通过 fopen 返回的文件指针。
  • $flags 是一个可选参数,用来指定如何打开文件。默认为 0,意味着文件将以覆盖模式打开。
  • $context 是一个可选的资源句柄,通常由 stream_context_create() 创建。

压缩为 ZIP 文件后上传

返回选择 Oldstyle 保存 

保存成功 

连接成功!!! 

成功拿到 flag

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/772726.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】(C语言):堆(二叉树的应用)

堆: 此处堆为二叉树的应用,不是计算机中用于管理动态内存的堆。形状是完全二叉树。堆分两种:最大堆,最小堆。最大堆:每个节点比子树所有节点的数值都大,根节点为最大值。最小堆:每个节点比子树…

千万不要用国产BI,不然你会发现它性价比奇高——以奥威BI软件为例

在信息技术日新月异的今天,企业对于商业智能(BI)软件的选择往往陷入了一个误区:盲目追求国际品牌,却忽视了身边那些性价比极高的国产精品。如果你不慎踏入了“千万不要用国产BI”的陷阱,那么奥威BI软件将是…

PHP家政服务预约单开版微信小程序系统源码

🏠 —— 便捷生活,从指尖开始💪 🌈【开篇:家政新风尚,一键触达】 在忙碌的生活节奏中,你是否渴望拥有一个温馨、整洁的家,却又苦于找不到合适的家政服务?现在&#xff…

C++_03

1、构造函数 1.1 什么是构造函数 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。 每次构造的是构造成员变量的初始化值,内存空间等。 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不…

对标GPT-4o!不锁区、支持手机、免费使用,Moshi来啦!

7月4日凌晨,法国知名开源AI研究实验室Kyutai在官网发布了,具备看、听、说多模态大模型——Moshi。 Moshi功能与OpenAI在5月14日展示的最新模型GPT-4o差不多,可以听取人的语音提问后进行实时推理回答内容。但GPT-4o的语音模式要在秋天才能全面…

适合弱电行业的项目管理软件!找企智汇软件!

随着科技的不断发展,弱电行业对于项目管理的需求日益增强。为满足这一需求,企智汇推出了一款专为弱电行业打造的工程项目管理系统。 企智汇弱电行业工程项目管理系统以其专业性、高效性和智能性,赢得了业界的广泛认可。该系统深入融合了弱电…

仓库管理系统

create database Warehouse_management;//建库 use Warehouse_management; 一、建表 1、管理员信息表 CREATE TABLE ManagerInfo (Mno CHAR(3) PRIMARY KEY,Mname VARCHAR(10) NOT NULL,Mgender CHAR(1) DEFAULT 男,Mbirhdate DATE,Mtelephone CHAR(11) NOT NULL,Mhiredate …

数据预处理:统计关联性分析/数据清洗/数据增强/特征工程实例

专栏介绍 1.专栏面向零基础或基础较差的机器学习入门的读者朋友,旨在利用实际代码案例和通俗化文字说明,使读者朋友快速上手机器学习及其相关知识体系。 2.专栏内容上包括数据采集、数据读写、数据预处理、分类\回归\聚类算法、可视化等技术。 3.需要强调的是,专栏仅介绍主…

C++(第四天----拷贝函数、类的组合、类的继承)

一、拷贝构造函数(复制构造函数) 1、概念 拷贝构造函数,它只有一个参数,参数类型是本类的引用。如果类的设计者不写拷贝构造函数,编译器就会自动生成拷贝构造函数。大多数情况下,其作用是实现从源对象到目…

Access,Trunk,Hybrid网络设备链接类型详解

带着问题找答案:网络链路上的数据包怎么看,是否携带vlan-id如何看,以及如何设计链接类型满足用户要求,请看如下解析。 第一种:链接类型access 无标记数据帧 第二种:链接类型trunk 第三种&#xf…

最新mysql打开远程访问和修改最大连接数

这里写目录标题 1.使用navicat进入命令控制板,进入use mysql;2.查询用户表3.更新user表中root用户域属性,%表示允许外部访问4.执行以上语句之后再执行,FLUSH PRIVILEGES;5. 执行授权语句修改最大连接数 1.使用navicat进入命令控制板,进入use mysql; use…

为什么写Python脚本时要加上if __name__ == ‘__main__‘?

目录 一、__name__ 的秘密 二、if __name__ __main__: 的作用 三、代码示例与案例分析 示例一:简单的数学工具模块 示例二:命令行工具 四、实际应用场景 五、进阶应用 1. 插件开发 2. 动态加载模块 3. 交互式与脚本模式切换 六、结论 在Pyth…

电商API对接流程丨从零开始快速打通电商平台数据通道

开发电商业务管理系统时,怎么对接电商接口呢?有两种方式可供选择,一种方式就是自己入驻想要对接的电商平台对应的开放平台,按照要求与流程与电商接口进行对接,还有一种方式就是寻找电商中台,通过第三方接口…

吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.5-2.6

目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第二周:机器学习策略(2)(ML Strategy (2))2.5 数据分布不匹配时的偏差与方差的分析(Bias and Variance with mismatched data di…

玩机进阶教程----MTK芯片杂牌机 小品牌机型解除bl锁以及root的操作步骤解析

在玩机过程中会遇到很多小品牌机型或者杂牌机类的。大多都使用mtk芯片。而且基本很少有官方线刷包。在这些机型中玩机首先我们要想办法导出系统来制作线刷包。以免后续解锁bl或者root出现未知故障可以恢复原系统。 那么对于这些机型该如何进行备份固件和root呢。通过博文可以初…

选微调、RAG还是微调+RAG?

RAG技术是一种结合了检索与生成的方法。它通常依赖于两个核心组件:一个大型语言模型(如GPT-3)和一个检索系统(如向量数据库)。RAG先使用检索系统从大量数据中检索出相关信息,然后将这些信息提供给语言模型&…

一文带你看懂什么是营销归因模型及SaaS企业的应用

在数字化时代,营销活动的多样性和复杂性使得评估其效果成为一项挑战。营销归因模型应运而生,为SaaS企业等提供了科学、系统的评估工具。本文将简要介绍什么是营销归因模型,阐述其带来的好处,并探讨SaaS企业可以采用的营销归因系统…

编译rust程序,并让它依赖低版本的GLIBC库

在linux环境下编译rust程序,编译好的程序会依赖你当前系统的GLIBC库,也就是说你的程序无法在使用更低版本GLIBC库的linux系统中运行。 查看当前系统的GLIBC版本: strings /lib64/libc.so.6 | grep GLIBC 为了让编译的程序依赖比较低版本的GL…

通过 Power Automate 以提升的权限运行 Power Apps 连接

使用Power Apps在Sharepoint列表中新建或编辑项比较简单,就是创建窗体,连接Sharepoint列表,添加个按钮,触发条件为Submit(form)。 填写信息,点击按钮即可新建项 但使用过程中,发现运行此应用的用户&#xf…

mac 11 变编译安装nginx

mac 11 变编译安装nginx 记录一次安装过程 所需要的包 pcre: https://sourceforge.net/projects/pcre/files/pcre/OpenSSL: https://www.openssl.org/source/Nginx: https://nginx.org/en/download.html如果没有pcre 和Openssl,报错如下 把pcre和Openssl 解压到nginx 目录下…