weblogic调试环境搭建
-
下载weblogic10.3.6的安装包,后台回复weblogic即可获取安装包下载链接(百度云盘)。注意,不需要安装jdk,安装包中自带一个jdk1.6
-
windows下点击安装,下一步下一步即可
-
修改
OracleMiddlewareuser_projectsdomainsbase_domainbinsetDomainEnv.cmd
任意位置加入一行 set debugFlag=true。开启调试功能。weblogic默认调试端口为8453. -
拷贝
OracleMiddlewaremodules
等jar包至idea目录下。配置idea调试。如图
漏洞分析
漏洞分析都一个样,放几张图就行了。payload错误堆栈
我们可以打断点,然后触发调试,即可一步一步跟踪漏洞。
玩法一
上面知道了,目前来说可以反序列化任意类。目前网上公布的exp都是基于rmi打法。如果遇到高版本的weblogic是有一定概率无法检测的。既然说了,可以反序列化任意类,也就是说,该处反序列化没有经过任何过滤。所以我们可以尝试使用ysoserial的dnsurl payload去反序列化,并检测是否存在iiop漏洞。如图
该种检测不限制weblogic版本,实测weblogic10,12都可以正常检测
玩法二
可以结合cve-2020-2555 的gadget,实现高版本weblogic+jdk1.8 不需要rmi即可执行命令。缺点暂时无法回显代码大致如下,聪明的你肯定会写出来
BadAttributeValueExpException badAttributeValueExpException = new
BadAttributeValueExpException(null);Field field =
badAttributeValueExpException.getClass().getDeclaredField("val");
field.setAccessible(true);field.set(badAttributeValueExpException, limitFilter);
Context context = createIIopContext(ip, port);context.rebind("Fucker"+System.nanoTime(), badAttributeValueExpException);
工具简单介绍
根据网上大佬们的代码,杂七杂八凑出来的东西,看一下使用简介大家就知道怎么使用了。不过公开版是没有2555的gadget,只可以用来检测weblogic是否存在iiop。当然,后台私聊有机会获取2555gadget版本的weblogic利用工具哟
本文始发于微信公众号(宽字节安全):CVE-2020-2551漏洞分析与检测
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论