浅谈RASP技术攻防之实战[环境配置篇]

释放双眼,带上耳机,听听看~!

点击上方“凌天实验室”可订阅哦!

之前偶们有就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内容吧。

<dependencies>

<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
<version>5.1</version>
</dependency>

</dependencies>

<build>
<finalName>agent</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifestFile>src/main/resources/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<includes>
<include>commons-io:commons-io:jar:*</include>
<include>org.ow2.asm:asm-all:jar:*</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>

将上述内容复制到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

到目前为止,我们已经将基本环境以及目录结构配置完成了~

下篇文章我们接着说代码实现部分的内容~


凌天
实验室

凌天实验室,是安百科技旗下针对应用安全领域进行攻防研究的专业技术团队,其核心成员来自原乌云创始团队及社区知名白帽子,团队专业性强、技术层次高且富有实战经验。实验室成立于2016年,发展至今团队成员已达35人,在应用安全领域深耕不辍,向网络安全行业顶尖水平攻防技术团队的方向夯实迈进。

本文源自微信公众号:凌天实验室

人已赞赏
安全工具

详细分析Pwn2Own 2019上曝出的Edge的Canvas 2D API漏洞(CVE-2019-0940)利用

2019-10-14 14:03:29

安全工具

预警||远程桌面服务中修补新的高危漏洞(CVE-2019-1181 / 1182)

2019-10-14 14:03:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索