之前偶们有就RASP技术攻防基础作过简单介绍,穿越捷径:请点击
今儿接上回,说一说环境配置的事儿,废话不多说,直接进入正题
PS:代码已上传至github,地址:https://github.com/iiiusky/java_rasp_example
初始化项目
首先我们在IDEA中新建一个maven项目
取名为JavawebAgent
然后当前的目录结构如下:
删除src目录,然后右键新建Module
依然选择Maven项目
然后在ArtifactId处填入agent
然后确定即可
然后再次重复一遍上面的新建Module的操作,将第二小步中的ArtifactId改为test,第三小步中的Module Name 改为test-struts2,如下图所示
这时候的目录结构如下
其中agent目录为我们要实现agent的主要代码区域,test-struts2为测试web代码区域。(注:test-struts2不是必选的)
test-struts2模块基础配置
test-struts2部分的代码这边就不进行复述了,大家可以去本项目的地址中直接下载test-struts2内容。
agent模块基本配置
≡≡ pom.xml包配置
agent这个pom包配置的话有坑,这个以后在说,先看pom.xml内容吧。
org.ow2.asm asm-all 5.1 agent org.apache.maven.plugins maven-compiler-plugin 1.6 org.apache.maven.plugins maven-jar-plugin 2.3.2 src/main/resources/MANIFEST.MF org.apache.maven.plugins maven-shade-plugin 2.3 package shade commons-io:commons-io:jar:* org.ow2.asm:asm-all:jar:* org.apache.maven.plugins maven-surefire-plugin 2.21.0 true
将上述内容复制到agent模块下的pom.xml中
≡≡ 创建MAINFEST.NF文件
在resources目录下创建MAINFEST.NF文件,文件内容如下
Manifest-Version: 1.0 Can-Retransform-Classes: true Can-Redefine-Classes: true Can-Set-Native-Method-Prefix: true
≡≡ maven自动打包配置
在idea中右上部分找到Add Configurations , 然后点击此按钮
在弹出的窗口中点左上角的+,选择maven
然后点下图①的位置选择工作目录,在②的位置选择agent,在③的位置填入clean install
完成以后如下图所示,然后点击OK保存即可
这时候右上角已经可以看到我们刚刚配置的maven自动打包功能了,agent每改一处都需要重新build,不然无法生效。
≡≡ 创建Agent主要实现代码包
在agent包下面的java文件夹下右键选择新建package,然后填入你的包名,我这边的包名为
cn.org.javaweb.agent
到目前为止,我们已经将基本环境以及目录结构配置完成了~
下篇文章我们接着说代码实现部分的内容~