01
编译打包
1.Fork DongTai-agent-java 项目到自己的github仓库
2.将项目 clone 到本地
3.更改配置文件“iast-agent/src/main/resources/iast.properties”。
将 iast.server.url 改为https://iast.huoxian.cn,iast.server.token改为洞态IAST用户token
iast.server.url=https://iast.huoxian.cn
iast.server.token=
4.进入项目根目录,使用 maven 进行打包
& mvn clean package -Dmaven.test.skip=true
注:jdk 版本为1.8。
5.打包结束后项目根目录下会生成文件夹 release,其目录结构:
release
├── iast-agent.jar
└── lib
├── dongtai-servlet.jar
├── iast-core.jar
└── iast-inject.jar
6.将 dongtai-servlet.jar、iast-core.jar、iast-inject.jar 三个 jar 包复制到系统临时目录。获取系统临时目录可运行以下 Java 代码:
System.getProperty("java.io.tmpdir");
02
配置测试项目的运行参数
1.使用 IDEA 打开测试项目,并且配置项目的运行参数
**VM参数详细:**(只需更改 -javaagent 和 -Dproject.name)
-javaagent:/path/to/agent.jar // agent目录,官网下载
-Diast.server.mode=local // 引擎启动模式(local/remote)
-Diast.engine.delay.time=1 // 引擎延时启动时间(秒)
-Dproject.name=projectName // 项目名
-Dlog.level=info // 日志打印等级
-Ddebug=true // debug
-Diast.dump.class.enable=false // 是否查看新生成的字节码文件
2.将 dongtai-servlet.jar、iast-core.jar、iast-inject.jar 三个 jar 包导入项目依赖
03
Debug
1.在刚刚依赖的三个 jar 包中打断点,以 com.secnium.iast.core.report.ReportSender.send() 为例,此方法用来向云端发送请求。
2.Debug 模式启动测试项目,可以看到断点已经生效了。
04
自定义 agent
1.根据您的需求提交 issue
2.更改 DongTai-agent-java 的代码
3.重复以上步骤, Debug 可用于功能测试
4.提交代码
【火线短视频精选】
【周度激励】
【相关精选文章】
火线Zone是[火线安全平台]运营的封闭式社区,社区成员必须在[火线安全平台]提交有效漏洞才能申请免费加入,符合要求的白帽子可联系[火线小助手]加入。
我们不希望出现劣币驱逐良币的结果,我们不希望一个技术社区变成一个水区!
欢迎具备分享精神的白帽子加入火线Zone,共建一个有技术氛围的优质社区!
本文始发于微信公众号(火线Zone):如何对 DongTai-agent-java 进行 Debug
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论