ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088)
ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088)
查看docker的activemq版本命令:
$ docker ps | grep activemq
927860512db9 rmohr/activemq:5.15.4-alpine
从上面可以看到版本是activemq:5.15.4-alpine 在该漏洞修复版本之上,不用担心了。
-------------------------
使用 docker 复现该漏洞,搭建环境
vulhub/activemq at master · vulhub/vulhub · GitHub
环境会监听 61616 端口和 8161端口,8161端口是控制台。
搭建好以后,本机访问 http://192.168.0.106:8161 即可。
ActiveMQ 的控制台分为三个应用:
admin
api
fileserver
其中1和2需要登录,3不需要登录,fileserver 是一个RESTful API的接口,可以使用 PUT、MOVE 等方法操作文件。
版本相关:
5.12.X —— 5.13.X 版本中,默认关闭了 fileserver
5.14.0 以后的版本,删除了 fileserver
0x02、漏洞相关
2.1 漏洞原因
漏洞成因是 fileserver ,可以使用 PUT、MOVE 等方法对文件进行操作,主要可以搞的方法有以下几点:
直接写 shell。
写 cron 定时任务拿 shell,或者写ssh key 文件
写 jar 或 jetty.xml 等库和配置文件
2.2 直接写 shell
写 shell 的话,需要写在 admin 或者 api 中,也就是需要登录,没有密码的话完成不了写 shell 操作。
该环境默认的口令为 admin/admin。
访问 http://127.0.0.1:8161/admin/test/systemProperties.jsp
获得当前系统的路径
上传jsp,返回204,但是在 fileserver 路径下不解析
然后移动到 api 目录下,成功的话,返回 204 No Content
成功执行 webshell
2.3 利用 cron 定时任务写 shell
先上传到 fileserver,不需要登录即可。
然后移动到 /etc/cron.d/root
保证靶机的定时任务服务正在运行
/etc/init.d/cron status
本机监听 9999 端口,一会就反弹 shell 了。
能够写shell基本上就等于控制了服务器了,通过这个漏洞学习可以看到对服务器文件相关操作的应用接口都要相当谨慎。
ActiveMQ任意文件写入漏洞(版本在5.12.X前CVE-2016-3088)的更多相关文章
- Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现
Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现 一.漏洞描述 该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通 ...
- ActiveMQ任意文件写入漏洞(CVE-2016-3088)
上传webshell 容器用vulhub的 PUT一个jsp文件 MOVE到api目录 默认的ActiveMQ账号密码均为admin,首先访问http://your-ip:8161/admin/tes ...
- 漏洞复现-ActiveMq任意文件写入漏洞(CVE-2016-3088)
0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场) 0x01 影响版本 未禁用PUT.MOVE等高危方法的ActiveM ...
- ActiveMQ反序列化(CVE-2015-5254) && ActiveMQ任意文件写入 (CVE-2016-3088)
ActiveMQ 反序列化漏洞(CVE-2015-5254) 漏洞详情 ActiveMQ启动后,将监听61616和8161两个端口,其中消息在61616这个端口进行传递,使用ActiveMQ这个中间件 ...
- 致远A8任意文件写入漏洞_getshell_exp
近期爆出致远 OA 系统的一些版本存在任意文件写入漏洞,远程攻击者在无需登录的情况下可通过向 URL /seeyon/htmlofficeservlet POST 精心构造的数据即可向目标服务器写入任 ...
- Aria2任意文件写入漏洞
目录: 简介 漏洞描述 payload 漏洞复现 一.Aria2介绍 Aria2是一个命令行下运行,多协议,多来源下载工具(HTTP / HTTPS,FTP,BitTorrent,Metalink), ...
- 74CMS 3.0任意文件写入漏洞
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...
- 企业安全04-phpstudy最新版本nginx 默认存在任意文件解析漏洞
phpstudy最新版本nginx 默认存在任意文件解析漏洞 一.漏洞描述 phpStudy是一个PHP调试环境的程序集成包.该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ ...
- JeeCMS v7 SSRF导致任意文件写入
前言: 学习大佬的思路. from先知社区:https://xz.aliyun.com/t/4809 00X1: 是/ueditor/getRemoteImage.jspx 接口 通过构造upfile ...
随机推荐
- LeetCode-52.N-Queen II
The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens ...
- SQL Server2008及以上 表分区操作详解
SQL Server 表分区之水平表分区 转自:https://www.cnblogs.com/Brambling/p/6766482.html 什么是表分区? 表分区分为水平表分区和垂直表分区,水 ...
- 20180323 DataTable增加DataRow方式优化
1. 我开始开发程序时,很多问题考虑不周期,不断的在改进中 最开始我的写法,创建一个DataTable 的Columns,采用语句 dt2.Columns.Add("ID"); 这 ...
- Oracle(2)之多表查询&子查询&集合运算
多表查询 笛卡尔积 同时查询多张表时,每张表的每条数据都要和其它表的每条数据做组合.如下栗子,我们发现产生的总记录数是 56 条,还发现 emp 表是 14 条,dept 表是 4 条,56 条正是 ...
- file相关方法
File文件,getAbsolutePath方法 public String getAbsolutePath() 该方法的作用是获得当前文件或文件夹的绝对路径.例如c:\test\1.t则返回c:\t ...
- VS中属性配置ABC
1.包含目录和附加包含目录(库目录和附加库目录)的区别: 包含目录:修改了系统的include宏的值,是全局的: 附加包含目录:用于当前项目,对其他项目没有影响. (库目录和附加库目录的区别同上) 2 ...
- Python中常用的模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- sap gui 定义类并实现接口
1: 直接在类属性的interfaces 框输入 接口名称即可.
- 三维bfs(HUD1253胜利大逃亡)
#include <stdio.h>#include <string.h>int map[51][51][51];int v[51][51][51];int a,b,c,t11 ...
- 致敬金庸:武侠版编程语言...Java像张无忌还是令狐冲?
我就喜欢这样,等新闻消失,热点过去,人们快要遗忘的时候, 用自己的方式,想起他.让他被人想起. 短评:夫千里之远,不足以举其大:千仞之高,不足以举其深.<倚天屠龙记> 短评:这世间和张三丰 ...