IDEA远程调试

前言

IDEA可以在无源代码的情况下进行远程调试,只需将程序的class文件或jar包添加到项目依赖即可对一些未开源的Java程序或大型中间件进行远程调试。我们将以冰蝎的Behinder.jar为例,并以CVE-2017-10271CVE-2017-12615漏洞环境为例介绍如何使用IDEA配合docker对WeblogicTomcat中间件进行调试。

对Jar包进行远程调试

首先我们在IDEA上新建一个Java项目,并创建一个lib文件夹,把我们要调试的jar包放到lib文件夹下。右键选择Add as Library...。成功添加后可以看到Jar包中反编译后的源代码。
在这里插入图片描述
在这里插入图片描述
我们可以点击右上角的Add Configurations,点击+来添加一个Remote
在这里插入图片描述
在终端上输入java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 Behinder.jar即可监听调试
在这里插入图片描述

对Weblogic进行远程调试

首先我们进入vulhub文件夹,修改/weblogic/CVE-2017-10271文件夹下的yml文件,打开8453端口
在这里插入图片描述
然后使用docker-compose命令编译镜像并启动容器
在这里插入图片描述
在这里插入图片描述
我们使用命令docker exec -it 0a /bin/bash命令进入容器,使用vi修改文件/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh,添加这两行代码

debugFlag="true"
export debugFlag

在这里插入图片描述
重启docker容器再进入,将/root/Oracle/Middleware/文件夹下的modules文件夹和wlserver_10.3文件夹使用zip命令压缩成zip压缩包。这里解释一下为什么要这么做,如果读者的系统为Windows,使用docker cp命令时,就会在复制一些长文件名的文件时报错,因此这一步的目的是打包成压缩文件再进行复制,以避免这种问题的出现。docker cp命令将这两个文件分别复制到本机的当前路径的test文件夹下
在这里插入图片描述
我们输入命令sudo chmod -R 777 modules/ wlserver_10.3更改文件夹对应的权限。移动到项目的文件夹后,我们对modules文件夹和wlserver_10.3/server/lib这个两个文件夹进行Add as Library...的操作。
在这里插入图片描述
然后我们根据前面的步骤,添加一个远程调试Remote,端口要改为和yml文件相同的8453
在这里插入图片描述
然后我们在wlserver_10.3/server/lib/weblogic.jar/weblogic/wsee/jaxws/WLSServletAdapter.class的handle方法上设置断点,接着运行Debug模式。在浏览器上访问http://127.0.0.1:7001/wls-wsat/CoordinatorPortType,同时查看IDEA是否运行调试成功
在这里插入图片描述
在这里插入图片描述

对Tomcat进行远程调试

因为Tomcat的操作和Weblogic的操作大同小异,所以下面我只截图说明了。
在这里插入图片描述
在这里插入图片描述
我们进入容器后的编辑一下这个文件bin/catalina.sh,插入以下的命令
在这里插入图片描述

使用docker cp将文件夹/usr/local/tomcat/lib复制到物理机上
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

补充

尽管vulhub可以很方便地搭建环境,但是由于漏洞更新比较快,因此我们使用虚拟机进行搭建漏洞环境会更好。在虚拟机上安装对应的环境,然后使用上述方法进行调试即可。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡的学者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值