记一次海洋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,而且只需传过去就能用菜刀连上。
放入菜刀,那密码是什么呢,是9[],不是9。

于是乎,连接成功。

记一次海洋cms任意代码执行漏洞拿shell(url一句话)的更多相关文章
- i春秋——“百度杯”CTF比赛 九月场——Test(海洋cms / seacms 任意代码执行漏洞)
打开发现是海洋cms,那就搜索相关漏洞 找到一篇介绍海洋cms的命令执行漏洞的文章:https://www.jianshu.com/p/ebf156afda49 直接利用其中给出的poc /searc ...
- php 168任意代码执行漏洞之php的Complex (curly) syntax
今天了解了php 168的任意代码执行漏洞,Poc: http://192.168.6.128/pentest/cms/php168/member/post.php?only=1&showHt ...
- WordPress wp-includes/functions.php脚本远程任意代码执行漏洞
漏洞名称: WordPress wp-includes/functions.php脚本远程任意代码执行漏洞 CNNVD编号: CNNVD-201309-166 发布时间: 2013-09-13 更新时 ...
- 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版本,是一个典型的“二 ...
- 干货|CVE-2019-11043: PHP-FPM在Nginx特定配置下任意代码执行漏洞分析
近期,国外安全研究员Andrew Danau,在参加夺旗赛(CTF: Capture the Flag)期间,偶然发现php-fpm组件处理特定请求时存在缺陷:在特定Nginx配置下,特定构造的请求会 ...
- 修复Apache Log4j任意代码执行漏洞安全风险通告
2021年12月10日 0x01漏洞背景 Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具.该工具重写了Log4j框架,并且引入了 ...
- 漏洞预警 | Apache Struts2 曝任意代码执行漏洞 (S2-045)
近日,Apache官方发布Apache Struts 2.3.5–2.3.31版本及2.5–2.5.10版本存在远程代码执行漏洞(CNNVD-201703-152 ,CVE-2017-5638)的紧急 ...
- PHP-CGI远程任意代码执行漏洞(CVE-2012-1823)修复方案
首先介绍一下这个漏洞,其实是在apache调用php解释器解释.php文件时,会将url参数传我给php解释器,如果在url后加传命令行开关(例如-s.-d .-c或 -dauto_prepend_ ...
- phpcms前台任意代码执行漏洞(php<5.3)
phpcms v9 中 string2array()函数使用了eval函数,在多个地方可能造成代码执行漏洞 /phpsso_server/phpcms/libs/functions/global.fu ...
随机推荐
- 路由器安全-NetFlow
1.NetFlow介绍 提供高层次的诊断,分类和识别网络异常. 使用NetFlow来检查哪些行为改变明显的攻击是非常有效的. 就像Wiretap一样捕获数据包. NetFlow像电话账单.(谁和谁在通 ...
- jquery 分页 Ajax异步
//使用Ajax异步查询数据 <div class="table-responsive"> <table class="table table-bord ...
- dubbo的dispatcher设置原理
在上回<Dubbo源代码实现六>中我们已经了解到,对于Dubbo集群中的Provider角色,有IO线程池(默认无界)和业务处理线程池(默认200)两个线程池,所以当业务的并发比较高,或者 ...
- vector 踩过的坑
今天,做LeetCode上的一道题,198题:Rob House,在纸上画了画,发现了重复的结构,就使用了递归的方式实现的 #include<iostream> #include<v ...
- 一个不会coding的girl Linux日常之命令awk
Linux日常之命令awk 参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. ...
- springBoot整合mybatis-plus关闭自动转换小驼峰命名规则
增加配置信息 mybatis-plus: configuration: map-underscore-to-camel-case: false
- IVM sdk command
1.load sdk shell ./auto_load_user.sh 2.查看all端口状态 IVM:0>ifcs show devport 3.查看个别端口状态 IVM:0>ifcs ...
- Struts配置文件报错"元素类型为 "package" 的内容必须匹配"
报错信息 元素类型为 "package" 的内容必须匹配 "(result-types?,interceptors?,default-interceptor-ref?,d ...
- Go Start
一.安装 下载解压后,配置PATH tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz export PATH=$PATH:/usr/local/go ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:在 <tbody> 内添加斑马线形式的条纹 ( IE8 不支持)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...