用于学习java漏洞debug。

以weblogic为例。

cve-2017-10271

weblogic:10.3.6

环境搭建

拿docker为例

https://github.com/vulhub/vulhub/blob/master/weblogic/CVE-2017-10271

要docker调试

首先将docker的8453开启

docker-compose.yml里面

version: '2'
services:
weblogic:
image: vulhub/weblogic
ports:
- "7001:7001"
- "8453:8453"

然后运行docker-compose up -d 下载和运行镜像。

下载完成后

使用docker exec -it weblogic /bin/bash 进入容器,修改/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh

添加两行代码

debugFlag="true"

export debugFlag

然后  docker restart 容器id

因为需要weblogic的源码,所以我们把  weblogic的源码和jdk包都拷贝出来。

docker cp weblogic:/root ./weblogic_jars

然后idea打开/root/Oracle/Middleware/wlserver_10.3/目录

如图

然后使用命令把Middleware目录下所有的*.jar包都放在一个test的文件夹里。

命令如下:

find ./ -name *.jar -exec cp {} ./test/ \;

然后在libraries下添加test目录

在jdk这块选用weblogic10.3.6自带的jdk6

都增加以后

这块就会出现两个目录。

然后我们添加远程服务器。

端口号是8453

然后应用,开启debug

当console出现下面图片时候,说明可以了。

然后在/wlserver_10.3/server/lib/weblogic.jar!/weblogic/wsee/jaxws/WLSServletAdapter.class的129行下断点

burp在wls-wsat进行发包

当出现下图时,说明成功了。

IDEA+docker,进行远程漏洞调试(weblogic)的更多相关文章

  1. WSL2+Docker+IDEA一站式开发调试

    WSL2+Docker+IDEA一站式开发调试 前言 ​ 我们知道,Docker是一个容器引擎:对于开发者来说,使用Dokcer容器部署各种开发需要的中间件(比如myql.redis)会非常简单方便: ...

  2. 远程debug调试java代码

    远程debug调试java代码 日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试.生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试. 整体过程是通过修改远程服务JAV ...

  3. idea导入maven项目,web browser远程单步调试

    问题:之前用idea14.1.3导入maven项目后,maven的dependencies不能自动解决依赖,到处都是红色的红线,看着就受不了.虽然不影响命令行编译,但是看着实在是不爽.总结下面几小步: ...

  4. 远程开发调试与hot-update | (R "think-of-lisper" 'Albertlee)

    远程开发调试与hot-update | (R "think-of-lisper" 'Albertlee) 远程开发调试与hot-update

  5. adb这点小事——远程adb调试

    欢迎转载.转载请注明:http://blog.csdn.net/zhgxhuaa 1.   前言 1.1.  写在前面的话 在之前的一篇文章<360电视助手实现研究>中介绍了在局域网内直接 ...

  6. pycharm安装,svn使用,远程开发调试,接口测试,连接服务器

    磨刀不误砍柴工,配置完美的编辑器,在开发时,能帮助我们节约大量的时间成本,从而是我们的精力放在业务逻辑实现上面! 接下来将介绍 使用pyhcarm如何使用svn,远程开发调试,接口测试,已经连接远程服 ...

  7. Docker+SpringBoot远程发布

    Docker+SpringBoot远程发布 发布成功后启动: docker run -di --name demo1.1 -p 8080:8085 demo:1.0 docker run 命令大全:h ...

  8. 使用pycharm进行远程开发部署调试设置 与 远程部署调试是否必须使用远程主机的解释器?

    远程开发部署调试目的: 配置pycharm远程部署调试主要用于本地代码与远程服务器上的代码进行同步,使得本地代码经过修改后,可以很容易的同步到远程服务器上.同时设置pycharm的解释器为远程服务器的 ...

  9. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (一)ubuntu18.04配置n ...

随机推荐

  1. 浅谈HDFS(一)

    产生背景及定义 HDFS:分布式文件系统,用于存储文件,主要特点在于其分布式,即有很多服务器联合起来实现其功能,集群中的服务器各有各的角色 随着数据量越来越大,一个操作系统存不下所有的数据,那么就分配 ...

  2. BeanFactory not initialized or already closed

    产生这个错误有两个可能, 一.你没有配置初始化文件,在web.xml中配置如下 <context-param> <param-name>contextConfigLocatio ...

  3. Servlet防止盗链

    在开发过程中有时存在用户直接复制链接,而绕过首页的情况.如果需要用户访问首页,而不是直接访问我们的网页,我们就称为盗链. 在Servlet中通过Request的getHeader()方法获取链接来源, ...

  4. ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介

    参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...

  5. swagger2的简单使用

    swagger2的简单使用 优点: 可以生成文档形式的API并提供给不同的团队使用 便于自己单测 无需过多冗余的word文档,这一点很重要,因为我在工作中就遇到这么一个情况,由于开发使用的文档和最新文 ...

  6. CentOS 8 网卡设置

    本次测试环境是在虚拟机上测试 网卡配置文件路径:/etc/sysconfig/network-scripts/ifcfg-ens33 [root@localhost ~]# cd /etc/sysco ...

  7. linux netlink通信机制简介

    一.什么是Netlink通信机制  Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口. Netlink 是一种特殊的 s ...

  8. python编程基础之三十二

    成员方法:成员方法就是一个函数,只是作用域在类内,并且第一个参数必须是self,self代表当前对象, class Dog(object): def bark(self): #成员方法,第一个参数必须 ...

  9. 配置mysql可局域网内访问

    一 进入mysql输入密码 :mysql -u root -p二 执行可局域网访问命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

  10. NOIP2011计算系数;

    #include<cmath> #include<algorithm> #include<stdio.h> #include<iostream> #de ...