一:docker配置修改以支持远程调试
Docker-compose.yml 添加8453端口,该端口会是远程调试端口
Docker-compose up -d 下载并运行镜像
修改weblogic配置文件以支持远程调试
进入docker docker exec -it cve-2018-2628_weblogic_1 /bin/bash
/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
添加export debugFlag=“true"
完成后,重启docker镜像 docker-compose restart
二:配置IDEA
拷贝docker中的web logic 源码到本地
Docker cp 容器名:/root ./weblogic_jars
我这里容器名为cve-2018-2628_weblogic_1,启动docker为root账号
所以 docker cp cve-2018-2628_weblogic_1:/root ./weblogic_jars 即保存docker的根目录到本地的weblogic_jar
Idea open project 打开 weblogic_jars/Oracle/Middleware/wlserver_10.3目录
File—> project structure —> project 配置jdk为docker拉取下来的版本
Lib 目录右键添加为library add as library
添加远程服务器
Run —> edit configurations 添加 remote 配置host为远程服务器,端口为docker配置的远程端口8453
应用之后,debug
如果存在上面socket现象表示远程调试环境已经搭建好
三:动态调试
在wlserver_10.3/server/lib/weblogic.jar!/weblogic/wsee/jaxws/WLSServletAdapter 的141行下断点
浏览器请求
http://192.168.99.37:7001/wls-wsat/CoordinatorPortType11
可以看到断点成功及相关调用栈信息,接下来就可以慢慢调试相关漏洞了
四:参考链接
https://www.cnblogs.com/ph4nt0mer/p/11772709.html