MyObject类建立了Serializable模块,而且重新写过了readObject()变量,仅有建立了Serializable模块的类的目标才能够被实例化,沒有建立此模块的类将无法使他们的任意状态被实例化或逆实例化。这儿的readObject()方法的功能是以1个源键入流中载入字节数编码序列,再把他们反序列化为1个目标,并将其回到,readObject()是能够重新写过的,因而能够订制反序列化的某些情形,从而能够用于开展漏洞检测,例如这儿的命令实行。

0x03JBoss反序列化漏洞重现

WebLogic、WebSphere、JBoss、Shiro等框架结构都发生过反序列化现象,这儿以JBoss5.x/6.x反序列化漏洞为象征,重现java反序列化漏洞检测操作过程。JBoss5.x/6.x反序列化漏洞存有于httpinvoker组件的ReadOnlyAccessFilter的doFilter中。如下图所示:

JAVA反序列化漏洞发觉包含白盒和黑盒2种方法,针对白盒方法主要是借助代码审计,以ObjectInputStream.readObject()为例子,其他反序列化模块的检查机理也类似,可依据建立分析java源代码,检查readObject()方法启用时辨别其目标是不是为java.io.ObjectOutputStream。假如这时ObjectInputStream目标的复位技术参数来源于外界post请求键入技术参数则主要能够明确存有反序列化漏洞。

而针对黑盒的方法,JAVA实例化的信息通常会以标识(aced0005)开始,js压缩编写代码后的特点为rO0AB,针对这类数据流量特点的通道,可启用ysoserial并先后转化成每个外部库的运用payload,结构为浏览特殊url链接的payload,依据https浏览post请求统计辨别反序列化漏洞是不是运用顺利。

普遍的修补方式包含:

1、类授权管理检验,在ObjectInputStream中resolveClass里仅仅开展了class是不是能被warn,自定ObjectInputStream,重载resolveClass的方法,对className开展授权管理检验。

2、严禁JVM实行外部命令Runtime.exec,依据拓展SecurityManager能够建立。

3、依据具体情况,须要立即更新commons-collections、commons-io等外部库版本号。

JAVA反序列化漏洞修复解决方法的更多相关文章

  1. Java反序列化漏洞实现

    一.说明 以前去面试被问反序列化的原理只是笼统地答在参数中注入一些代码当其反序列化时被执行,其实“一些代码”是什么代码“反序列化”时为什么就会被执行并不懂:反来在运营商做乙方经常会因为java反反序列 ...

  2. Java反序列化漏洞之殇

    ref:https://xz.aliyun.com/t/2043 小结: 3.2.2版本之前的Apache-CommonsCollections存在该漏洞(不只该包)1.漏洞触发场景 在java编写的 ...

  3. java 反序列化漏洞检测及修复

    Jboss.Websphere和weblogic的反序列化漏洞已经出来一段时间了,还是有很多服务器没有解决这个漏洞: 反序列化漏洞原理参考:JAVA反序列化漏洞完整过程分析与调试 这里参考了网上的 J ...

  4. Java反序列化漏洞通用利用分析

    原文:http://blog.chaitin.com/2015-11-11_java_unserialize_rce/ 博主也是JAVA的,也研究安全,所以认为这个漏洞非常严重.长亭科技分析的非常细致 ...

  5. Java反序列化漏洞分析

    相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 htt ...

  6. Lib之过?Java反序列化漏洞通用利用分析

    转http://blog.chaitin.com/ 1 背景 2 Java反序列化漏洞简介 3 利用Apache Commons Collections实现远程代码执行 4 漏洞利用实例 4.1 利用 ...

  7. 学习笔记 | java反序列化漏洞分析

    java反序列化漏洞是与java相关的漏洞中最常见的一种,也是网络安全工作者关注的重点.在cve中搜索关键字serialized共有174条记录,其中83条与java有关:搜索deserialized ...

  8. Java反序列化漏洞总结

    本文首发自https://www.secpulse.com/archives/95012.html,转载请注明出处. 前言 什么是序列化和反序列化 Java 提供了一种对象序列化的机制,该机制中,一个 ...

  9. Java反序列化漏洞从入门到深入(转载)

    前言 学习本系列文章需要的Java基础: 了解Java基础语法及结构(菜鸟教程) 了解Java面向对象编程思想(快速理解请上知乎读故事,深入钻研建议买本<疯狂Java讲义>另外有一个刘意老 ...

随机推荐

  1. 【黑马pink老师的H5/CSS课程】(一)基本介绍

    视频P4~P6 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动 1.网页 1.1 什么是网页 网站是网页的集合,网页是构成网站的基本元素,常用html格式文件 1. ...

  2. 《Ranked List Loss for Deep Metric Learning》CVPR 2019

    Motivation: 深度度量学习的目标是学习一个嵌入空间来从数据点中捕捉语义信息.现有的成对或者三元组方法随着模型迭代过程会出现大量的平凡组导致收敛缓慢.针对这个问题,一些基于排序结构的损失取得了 ...

  3. 体验SRCNN和FSRCNN两种图像超分网络应用

    摘要:图像超分即超分辨率,将图像从模糊的状态变清晰. 本文分享自华为云社区<图像超分实验:SRCNN/FSRCNN>,作者:zstar. 图像超分即超分辨率,将图像从模糊的状态变清晰.本文 ...

  4. 安卓fastboot刷机、刷magisk、aidlux备忘

    环境就不多说了,网上一堆教程,我只在这边简单记录一下,以小米手机为例 刷机 解锁bootloader PC上配置好adb.fastboot,也就是platform-tools工具包加入系统变量,在命令 ...

  5. go grpc: connection reset by peer 的一种解决方案

    最近添哥一直反映,他手下的设备以grpc stream的方式向我服务端发送数据.偶然会收到错误.现象如下: 连接已经建立了一段时间,正常使用. 突然client.Send 返回 eof. 客户端有报错 ...

  6. 啥也不是 -「OI 易犯错误整理」

    原帖出自 Nefelibata,不过他不想维护,所以就交给 STrAduts 了 awa.因为一些不可抗力,帖主转移至 XSC062.申请置顶! 前言 Nefelibata:因为笔者弱到无法形容,因此 ...

  7. 161_可视化_Power BI 复刻 GitHub 贡献热力图

    161_可视化_Power BI 复刻 GitHub 贡献热力图 一.背景 在 GitHub 上,有用户的贡献度的热力图如下: Power BI 公共 web 效果:https://demo.jiao ...

  8. else语句

    else的搭配 与else语句配合使用有三种情况 if ...: else: if条件表达式不成立的时候执行else 注意else还可以与while循环和for循环组合在一起(这是一个全新的知识) 注 ...

  9. SQL基本概念和SQL通用语法

    SQL 1.什么是SQL? Structured Query Language:结构化查询语句 其实就是定义了操作所有关系型数据库的规则.每一种数据库操作的方式存在不一样的地方称为"方言&q ...

  10. 使用传统的方式遍历集合对集合中的数据进行过滤和使用Stream流的方式遍历集合对集合中的数据进行过滤

    使用传统的方式,遍历集合,对集合中的数据进行过滤 class Test{ public static void main(String[] args){ ArrayList<String> ...