Weblogic T3 反序列化学习
前言
最近在公司实习也没有太多事情,就来学习一下Weblogic听好多师傅讲过很多次了。
这里我使用的是ATEAM大哥开源的搭建工具,感谢前人提供的便捷。我这里本来打算在自己电脑上搭建,但是说多了都是泪,m1适配问题。。。。最后还是跑云服务器上进行了搭建。
搭建过程
下载文件
先从GitHub上面拉取项目,拉取之后创建两个文件夹jdks,weblogics。
- jdk下载地址: https://www.oracle.com/technetwork/java/javase/archive-139210.html
- weblogic下载地址:https://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
然后将文件夹放到云服务器上后。
镜像搭建
sudo docker build --build-arg JDK_PKG=jdk-7u21-linux-x64.tar.gz --build-arg WEBLOGIC_JAR=wls1036_generic.jar -t weblogic1036jdk7u21 .
docker run -d -p 7001:7001 -p 8453:8453 -p 5556:5556 --name weblogic1036jdk7u21 weblogic1036jdk7u21
ps: 如果失败了就多输几次
mkdir ./weblogic1036
docker cp weblogic1036jdk7u21:/u01/app/oracle/middleware/modules ./weblogic1036/
docker cp weblogic1036jdk7u21:/u01/app/oracle/middleware/wlserver ./weblogic1036
docker cp weblogic1036jdk7u21:/u01/app/oracle/middleware/coherence_3.7/lib ./weblogic1036/
搭建完成访问:http://ip:7001/console/login
落泪了QAQ
远程调试
然后将weblogic1036文件夹从服务器上拖回本地主机
使用IDEA打开weblogic1036文件夹下的wlserver
同时再将目录下的另外两个文件夹添加进Libraries中
最后server->lib->Add as Library
导入依赖后添加Remote JVM Debug 将Port设置成为8453.
PS:别忘记打开云服务器端口
至此如果如下显示就成功了,如果错误看看防火墙端口有没有打开
T3协议
这个我对着源码看还是一知半解,后面再仔细研究一下。这里是大佬的分析:https://www.cnblogs.com/potatsoSec/p/14378757.html
漏洞分析
打开Wireshark,搜索 ac ed 00 05这是反序列化头的标志,具体的可以看这个类java.io.ObjectStreamConstants
然后按照下图右键搜索到的包-》追踪流-〉TCP流