cve-2017-12149 JBOOS 反序列化漏洞复现

水下月2021-01-12 18:04:20

漏洞描述

该漏洞为Java反序列化错误,存在于jboss的HttpInvoker组件中的ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检测的情况下尝试将来自客户端的数据进行反序列化,从而导致了漏洞。

漏洞影响版本

Jboss 5.xxx 6.xxx

漏洞搭建

在阿里云端,用docker 搭建测试环境jboos
使用的漏洞库是 vulhub ,进入漏洞库选择jboos里面有三个选项选择第一个cve.输入 docker-compose up -d 启动


本地测试,在浏览器输入49.78.67.78:8080

访问 49.78.67.78:8080/invoker/readonly,若显示HTTP Status 500,则说有反序列化漏洞。

使用工具测试验证漏洞是否存在,工具下载地址: https://github.com/yunxu1/jboss-_CVE-2017-...

执行whoami命令

漏洞序列化
本作品采用《CC 协议》,转载必须注明作者和本文链接
最近两个月我一直在做拒绝服务漏洞相关的时间,并收获了Spring和Weblogic的两个CVE但DoS漏洞终归是鸡肋洞,并没有太大的意义,比如之前有人说我只会水垃圾洞而已,所以在以后可能打算做其他方向早上和pyn3rd师傅聊天
浅谈Java反序列化漏洞
2022-05-17 17:48:01
Java序列化与反序列化Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。
序列化漏洞汇总
2022-01-07 22:17:34
漏洞出现在WLS Security组件,允许远程攻击者执行任意命令。攻击者通过向TCP端口7001发送T3协议流量,其中包含精心构造的序列化Java对象利用此漏洞。然后将其序列化,提交给未做安全检测的Java应用。Java应用在进行反序列化操作时,则会触发TransformedMap的变换函数,执行预设的命令。
序列化的核心思维旨在,将A变成B,最后再从B还原回A。 总之,在一些条件苛刻或者变化无常的环境与需求中,产生了这种灵活的可逆性的B的中间体。 理解不安全反序列化的最好方法是了解不同的编程语言如何实现序列化和反序列化。这里的序列化与反序列化指的是程序语言中自带的实施与实现。而非自创或者自定义的序列化与反序列化机制(比如:N进制形式hashmap树型等其他数据结构里的序列化中间体)。
漏洞影响版本 Jboss 漏洞搭建 在阿里云端,用docker 搭建测试环境jboos使用的漏洞库是 vulhub ,进入漏洞库选择jboos里面有三个选项选择第一个cve.输入 docker-compose up -d 启动 本地测试,在浏览器输入访问 /invoker/readonly,若显示HTTP Status 500,则说有反序列化漏洞。使用工具测试验证漏洞是否存在,工具下载地址: ... 执行whoami命令
前置知识分析Transformer接口及其实现类。transform()传入对象,进行反射调用。构造调用链调用链构造原则:找调用关系要找不同名的方法,如果找到同名,再通过find usages得到的还是一样的结果。找到InvokerTransformer类中的transform(),右键,点 Find Usages,找函数调用关系,最好找不同名的方法,调用了transform()。因为transform()调用transform()不能换到别的方法里,没有意义。如果有一个类的readObject()调用了get(),那我们就可能找到了调用链。最终选择TransformedMap这个类,因为TransformedMap类中有好几处都调用了transform()。
使用 SerializationBinder 无法完全修复反序列化漏洞隐患。经过深入研究总结了两种不安全 SerializationBinder 限定的绕过方式,下面分享给大家。
近日Oracle通报了一个反序列化漏洞CVE-2022-21445,未经身份认证的远程攻击者可利用该漏洞实现反序列化操作导致任意代码执行。任何基于ADF Faces框架开发的程序都受到此漏洞的影响,包括Oracle的多个产品。
Fastjson Develop Team发布安全公告,修复了一个存在于Fastjson1.2.80 及之前版本中的反序列化漏洞漏洞编号:暂无,漏洞威胁等级:高危。
JDK7u21的核心点是我们在cc1中也出现过的AnnotationInvocationHandler,在cc1中我们用到了他会触发this.memberValues.get(var4);这个点,而在JDK7u21中利用到了他里面的equalsImpl。先来看一下equalsImpl。
水下月
暂无描述