前言
在做代码审计时,通常需要将源码运行起来,用于验证漏洞是否真实存在,通过debug可以更加直观的观察程序的运行细节,可以比较快的确认有效漏洞,debug也是开发人员在代码调试测试阶段经常用到的方法。但源码开始运行前的编译阶段有时候不会很顺利,比如缺少依赖、组件版本不兼容、数据库连接异常等等,对于大型项目,通常还要配置多个中间件提供各项基础功能,要搭建好一个稳定运行的系统往往需要一定时间成本,本文主要介绍几类debug的远程方案,减少审计人员在环境搭建上投入的精力。
dokcer远程调试
不修改配置文件的调试
1、用docker远程debug是个省事的选择,节省了环境部署准备的时间,这一小节主要介绍不修改容器配置文件的一般调试方法。
2、以dataease这个数据可视化分析工具为例, docker部署后在Inspect找到已经编译好的完整jar包,导出保存这个jar文件。

3、在IDEA新建java项目将jar添加到依赖中,解压jar包放到项目根目录,然后右键BOOT-INF下的lib目录选择Add as Library将这些jar全部添加到依赖中。

4、将要调试的class文件夹添加到依赖关系中,这里就是BOOT-INF目录下的所有文件。

5、在idea配置调试环境,添加一个“Remote JVM Debug”,配置端口,选择对应jdk版本,添加项目类文件。

6、复制要调试的jar包的docker启动命令。

本文介绍了如何通过docker进行远程debug,包括不修改配置文件的docker调试方法,以及在IDEA、VSCode、GoLand和Eclipse等环境下进行远程调试的具体步骤,以提高代码审计的效率并减少环境搭建成本。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



