目录
2 JAVA系列代码审计
2.1 工具介绍
2.2 SecExample靶场安装
2.3 洞态IAST安装
2.3 洞态IAST使用
之前我们都是采用代码审计工具对PHP代码进行审计,但是在实际的工作中对于从事代码审计的人员来说JAVA的代码审计也是必不可少的,那么接下来我会详细介绍一下JAVA代码审计的流程,供大家参考学习。
在接下来的操作中,我主要是利用洞态IAST以及Secexample靶场来完成对JAVA代码的审计过程。
所以我们需要前期准备安装好洞态IAST,利用Ubuntu虚拟机安装靶场。
洞态 IAST 是一个完全开源的 IAST 项目,它使用应用程序运行时数据流进行分析从而识别可被利用的安全漏洞,再按风险优先级的提供已验证漏洞列表功能,协助开发人员实时的代码修复。
主要功能:全面精准的应用漏洞测试、开源组件漏洞和风险分析、应用漏洞自动化验证与溯源、全面详细的漏洞分析和定位、检测能力自定义
支持的检测语言:Java、Python、PHP、Go
支持的部署方式:Docker、Kubernetes / SaaS 服务
参考内容:概览 | 洞态文档
SecExample是一个JAVA漏洞靶场,至于什么是JAVA漏洞靶场,学习网络安全的小伙伴应该不陌生吧,在这里我就不再介绍,直接安装吧(强调一下,接下来我主要是在虚拟机环境进行安装,如果本机有git的话,可以直接在本机安装靶场,语句都差不多)
图2.1
如图2.1所示,首先进入管理员模式下,然后输入:
(git clone https://github.com/tangxiaofeng7/SecExample.git)
//在此说明一下,这是一个啥也没安过得Ubuntu虚拟机,所以接下来我的操作可能会麻烦一点,如果你的虚拟机本身安装了一些东西,那么就可以跳过一些繁琐的步骤。
图2.2
对于一个空白机而言直接输入前面的语句肯定是有问题的,如图2.2所示,哎,不要慌。一般linux系统都会给你提示,接下来该怎么办,你就照着他的提示进行就好了。
输入apt install git,等待安装,不出意外的话肯定是又出意外了。
图2.3
跟上一步一样,根据提示继续安装一些没有的东西。如图2.3,输入apt-get update.
图2.4
上一步安装完成之后,可以再尝试一下之前的语句,完成靶场的安装如图2.4所示。
图2.5
靶场安装完成后,进入靶场如图2.5所示,语句cd SecExample。
图2.6
输入语句docker-compose up -d,根据图2.6继续操作。
图2.7
如图2.7所示靶场工作全部完成。
接下来准备安装洞态IAST系统。
图2.8
输入语句apt-get update,如上图2.8所示。
图2.9
继续输入语句sudo apt-get install curl,如图2.9所示。
图2.10
输入语句curl -sSL https://get.daocloud.io/docker | sh,如图2.10,提示已经安装过了,那就不用管它,没有的话就继续等待完成安装即可。
图2.11
继续输入命令sudo apt-get install docker-compose,如图2.11
图2.12
输入命令$ git clone https://github.com/HXSecurity/DongTai.git如图2.12
图2.13
继续输入命令
$ cd DongTai
$ chmod u+x build_with_docker_compose.sh
$ sudo ./build_with_docker_compose.sh
如图2.13等待安装完成即可(这里没有一步一步截图)
这一步安装完成以后,他会提示你输入一个端口号,这个端口号就是洞态IAST系统打开的端口号,根据自己的情况进行设置,为了避免冲突我设置的是92号端口。
图2.14
如上图2.14所示,浏览器中输入127.0.0.1:92(上一步设置的端口号)访问系统。
图2.15
为了使用方便我们也可以在主机访问洞态IAST系统,那么就需要知道Ubuntu的IP地址,如图2.15所示。
图2.16
如图2.16所示,就在主机成功打开了洞态IAST系统。
图2.17
如图2.17所示接下来使用洞态IAST系统
图2.18
点击新建项目,根据图2.18进行选择。
图2.19
如上图2.19所示,点击添加代理。
图2.20
因为我们接下来是为了测试JAVA代码,所以在这里我们选择JAVA语言的代理进行下载。
图2.21
如图2.21所示,下载的代理要放在靶场文件下面,这一步要注意,如果之前使用本机git下载的那直接在本机找,如果根据我上面的Ubuntu下载的那就把虚拟机当中的文件复制过来也是一样的。要把JAVA代理放在target文件夹中。
图2.22
如图2.22所示,在命令行中输入java -javaagent:./agent.jar -Dproject.name=test -jar secexample-1.0.jar,注意要先进入target目录下面,再输入这个命令,才能打开。
图2.23
如上图2.23所示我们可以看到在洞态IAST中显示agent数目多了一条。证明代理已成功执行。
图2.24
如图2.24所示,我们在本机访问127.0.0.1:8080/home
图2.25
我们选择一个想要验证的漏洞,然后输入验证语句,之后返回洞态IAST如图2.25所示。
图2.26
如图2.26我们也可以看到项目漏洞情况等信息。也可以再试试其他漏洞。
图2.27
如图2.27所示,可以导出漏洞报告。
图2.28
如图2.28报告导出成功。
以上所有操作全部完成。