解决webLogic中iiop利用net网络问题

炎热短暂的夏天,阳光灿烂太耀眼,人来疯们来人前,光脚跳起舞

0x00 介绍

在weblogic反序列化的利用中存在t3和iiop两个协议,当然iiop协议比t3复杂一些,但是有一些漏洞就是需要iiop协议去利用。那么就存在一个问题?也就是NAT网络问题因为返回的host和port是内网的地址导致访问不了利用失败。

0x01 解决方法

在2022年自己开发weblogic利用的时候对于iiop协议的利用是采用模拟协议的方法。(非常难受)

今天在看到 Weblogic ForeignOpaqueReference 反序列化远程代码执行漏洞(CVE-2023-21839)的时候也是iiop的利用(当然t3也可以)就想了一个小方法去解决net网络的问题。

我们定义一个targetInfo的类传递host和port

1
2
3
4
5
6
7
8
9
public class targetInfo {
public static String host;
public static int port;

public targetInfo(String host,int port) {
Info.host = host;
Info.port = port;
}
}

在运行程序的时候new targetInfo这个对象,之后修改 weblogic.iiop.IOPProfile代码,直接在idea里面重写这个类。修改的地方如下

之后就可以正常的利用了。

0X02 参考

https://xz.aliyun.com/t/7498

0x03 总结

简单的是记录一下这个问题,因为之前写iiop协议的时候太难受了。

在武器化的开发中基本上有这个依赖,我们就可以直接修改不影响程序运行。可以一劳永逸的解决iiop协议中的net网络问题。

在说一句,可以简单的使用iiop协议了,那是不是可以将t3的利用给替换了呢?!