内容提要
本文介绍Weblogic漏洞环境的搭建与复现过程,包括下载脚本、配置虚拟机、执行Docker构建、调试准备及漏洞复现。重点说明复现中遇到的防火墙和NAT网络问题,并提供解包、反编译、重新编译打包的解决方案,附有参考链接。
延伸解读
环境搭建要点
搭建Weblogic漏洞环境时,建议使用全新Ubuntu 18.04虚拟机,分配4G内存和60G磁盘,并确保宿主机与虚拟机网络互通。脚本中默认会删除已有容器和镜像,可按需注释。构建时需指定JDK和Weblogic安装包,运行容器时映射7001、8453、5556端口,便于后续调试和漏洞复现。
调试准备与工具
若需进行漏洞调试,可将容器中的wlserver目录复制到宿主机,并用IDEA打开。添加调试配置文件及依赖库后,可使用两款IDEA插件辅助调试,功能类似,可提升分析效率。复现漏洞时,建议从GitHub下载源码,注意release包可能不完整,最好使用git克隆。
常见问题与解决
复现过程中可能遇到防火墙或杀毒软件干扰,导致Weblogic服务器无法主动连接客户端。若发现Weblogic请求本机地址失败,可尝试关闭Windows Defender或调整防火墙规则。NAT网络问题可通过解包wlfullclient.jar、反编译IOPProfile.class、修改代码后重新编译打包来解决,参考文章提供了详细步骤。
Q&A
搭建Weblogic漏洞环境需要哪些准备工作?
需要下载Weblogic环境搭建工具及对应的JDK和Weblogic安装包,准备一台全新Ubuntu 18.04虚拟机(root权限,RAM 4G,ROM 60G),本机为Windows 10,并确保本机与虚拟机能够ping通。
如何通过Docker搭建Weblogic漏洞环境?
编写Dockerfile脚本,使用docker build命令构建镜像,指定JDK和Weblogic的包名,然后使用docker run命令启动容器,映射7001、8453、5556端口,并命名为weblogic12213jdk8u102。执行脚本后等待几分钟即可完成搭建。
在漏洞复现过程中,如何解决防火墙导致的连接失败问题?
当Weblogic服务器尝试与客户端建立TCP连接以绑定LDAP端口时,如果连接失败,可能是本机防火墙或杀毒软件拦截。关闭Windows 10的Defender防火墙即可解决。
如何解决NAT网络问题?
通过解包wlfullclient.jar,使用jad反编译IOPProfile.class,修改IOPProfile.java中的相关内容,然后使用javac重新编译,最后用解压软件替换原jar包中的class文件。
在漏洞调试准备阶段,需要做哪些操作?
需要复制相关文件,用IDEA打开,配置调试配置文件,添加lib依赖,并推荐使用两款IDEA专业插件辅助调试。
漏洞复现的源码从哪里获取?
从GitHub下载源码,地址为https://github.com/SummerSec/JavaLearnVulnerability,建议直接使用git克隆,因为release包源码不全。