用于学习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. linux下安装pip(centos)

    centos系统中自带python2.7.5但是却没有pip工具 直接yum install pip会提示没有这个包 解决方案: 需要先安装扩展源EPEL. EPEL(http://fedorapro ...

  2. Android [SharedPreference轻量级存储]

    SharedPreferencesActivity.java package com.xdw.a122.data; import android.content.SharedPreferences; ...

  3. opencv边缘检测

    人眼怎么识别图像边缘? 比如有一幅图,图里面有一条线,左边很亮,右边很暗,那人眼就很容易识别这条线作为边缘.也就是像素的灰度值快速变化的地方. sobel算子 sobel算子是一个离散差分算子. 图像 ...

  4. Spring MVC-从零开始-EL(未完待续)

    Spring MVC-从零开始-EL(未完待续)

  5. 基于SpringBoot + Mybatis实现 MVC 项目

    1.预览: (1)完整项目结构 (2) 创建数据库.数据表: [user.sql] SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- ...

  6. rabbitmq linux卸载

    rabbitmq是运行在erlang环境下的,所以卸载时应将erlang卸载. 1.卸载rabbitmq相关 卸载前先停掉rabbitmq服务,执行命令 $ service rabbitmq-serv ...

  7. httpd2.2

    httpd -t:检查httpd配置文件/etc/httpd/conf/httpd.conf的语法错误 请求报文语法 <method> <request-URL> <ve ...

  8. 记录一次redis cpu异常升高的排插思路

    好久没有写博客  现在重新捡起来  记录工作中遇到的问题  方便以后在遇到类似的问题也有一个参考. 背景:有一天生产服务器redis  cpu 频繁报警    单核cpu 所以在想是不是业务量上来了. ...

  9. 后端开发实践系列之四——简单可用的CQRS编码实践

    本文只讲了一件事情:软件模型中存在读模型和写模型之分,CQRS便为此而生. 20多年前,Bertrand Meyer在他的<Object-Oriented Software Constructi ...

  10. HashMap 取数算法

    Map,百度翻译给我的解释是映射,在Java编程中,它是存储键值对(key-value)的一种容器,也是Java程序员常用的对象.这篇博客介绍下HashMap的实现:java是面向对象编程语言,jdk ...