代码审计之JAVA代码审计洞态IAST系统以及SecExample靶场

2023-10-29

目录

2 JAVA系列代码审计

2.1 工具介绍

2.2 SecExample靶场安装

2.3 洞态IAST安装

2.3 洞态IAST使用


2 JAVA系列代码审计

之前我们都是采用代码审计工具对PHP代码进行审计,但是在实际的工作中对于从事代码审计的人员来说JAVA的代码审计也是必不可少的,那么接下来我会详细介绍一下JAVA代码审计的流程,供大家参考学习。

2.1 工具介绍

在接下来的操作中,我主要是利用洞态IAST以及Secexample靶场来完成对JAVA代码的审计过程。

所以我们需要前期准备安装好洞态IAST,利用Ubuntu虚拟机安装靶场。

洞态 IAST 是一个完全开源的 IAST 项目,它使用应用程序运行时数据流进行分析从而识别可被利用的安全漏洞,再按风险优先级的提供已验证漏洞列表功能,协助开发人员实时的代码修复。

主要功能:全面精准的应用漏洞测试、开源组件漏洞和风险分析、应用漏洞自动化验证与溯源、全面详细的漏洞分析和定位、检测能力自定义

支持的检测语言:Java、Python、PHP、Go

支持的部署方式:Docker、Kubernetes / SaaS 服务

参考内容:概览 | 洞态文档

2.2 SecExample靶场安装

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.3 洞态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.3 洞态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报告导出成功。

以上所有操作全部完成。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

代码审计之JAVA代码审计洞态IAST系统以及SecExample靶场 的相关文章

随机推荐

  • G2的一些常用配置项

    gt 本文介绍下G2的一些常用配置项 Chart图表的属性 图表的属性直接在代码上介绍 可直接复制到项目上根据实际需求可以选择配置 const chart new G2 Chart container c1 必选 指定图表容器 可以传入该
  • M600Pro操作流程

    ipad平板地面站操作 1 DJI GO 检查项 飞机状态是否为 GPS 模式 且显示起飞准备完毕 2 飞行模式为 P 档 遥控器模式是否正确 遥控器电量是否充足 其他箭头指向处 为正常 电池电量 99 各电池之间差异不超过 3 4 电池电
  • winCE中采用DMA传输数据的方法

    转载请标明是引用于 http blog csdn net chenyujing1234 对于文章中有什么意见或是需要代码的可以留言联系我 1 DMA入口 DDM控制器能服务的外围设备配置信息的结构体 typedef struct BOOL
  • 单目相机测距

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 单目相机测距 一 理论 1 像素坐标系 1 相机坐标系 1 转换到大地坐标系 二 代码实现 1 使用matlab找到相机参数 2 使用opencv进行测距 总结 一 理论 先
  • Windows 环境下 Python3 安装 cryptography

    操作系统 win7 语言 Python 3 6 包 cryptography 3 4 7 因为工作需要 需要安装python的 cryptography包 但是屡次安装失败 特总结安装过程 以供大家借鉴 1 安装Rust 初次安装 cryp
  • 数字化变革的难点和解决方式

    了解了数字化企业的特征 还不代表企业能转型成功 从互联网1 0时期开始至今 中国传统 企业数字化转型十余年 整体效果并不理想 因为在推动转型过程中面临各种由于技能不足 和机制不足交织在一起形成的固有难点 转型推进难点 1 定义不清 这是企业
  • Sqlalchemy filter与filter_by查询语法

    摘要 https www cnblogs com kaerxifa p 13391722 html 摘要2 https blog csdn net gymaisyl article details 96601798 filter与filet
  • java部署和调用智能合约

    java部署和调用智能合约 下载安装npm和solc 1 安装gcc yum install gcc gcc c 2 安装node wget https npm taobao org mirrors node v10 14 1 node v
  • java中删除文件/文件夹的3种方法

    1 通过io删除文件 通过递归逐层删除文件信息 param filePath public static void deleteFileByIO String filePath File file new File filePath Fil
  • insert oracle用法,insert into select的实际用法,insertselect

    insert into select的实际用法 insertselect INSERT INTO SELECT语句 语句形式为 Insert into Table2 field1 field2 select value1 value2 fr
  • 【Linux】进程信号

    1 理解信号 1 信号 能够识别并做出行为的一种指令 2 信号来临的时候不一定能够立即对信号做出处理 但是并不影响信号的产生 3 信号来临 gt 时间窗口 gt gt 被处理 结果是要处理的但是需要时间 4 对待信号的处理方法 1 默认2
  • vue父组件向子组件传值

    子组件
  • JAVA IO流文本文件读入方法(read方法读入数据)

    在字符流通常都使用read方法读入数据 而read方法一般都两种调用方式 首先先创建一个文件 如Hello txt 里面输入HelloWorld 第一种是使用read的空参调用 read read 从输入流中读入一个字符 若当前位置无数据则
  • 进制转换方法

    常用计算机各进制的含义和相互之间的简单转换方法 文章目录 常用计算机各进制的含义和相互之间的简单转换方法 一 理解进制含义 1 二进制 2 八进制 3 十进制 4 十六进制 二 进制之间转换 1 1二进制转十进制 1 2十进制转二进制 除法
  • java--基础--17.7--线程--内存模型与线程

    java 基础 17 7 线程 内存模型与线程 1 内存模型 1 1 主内存和工作内存之间的交互 1 2 对于 volatile 型变量的特殊规则 关键字 volatile 是 Java 虚拟机提供的最轻量级的同步机制 一个变量被定义为 v
  • 微信小程序设置背景图铺满顶部

    由于微信小程序自带顶部导航栏 导致我们设置背景图时总是无法铺满顶部 其实想要铺满顶部只需要改变一个属性即可 将navigationStyle的默认属性修改为custom 在微信小程序需要设置背景图的文件下的 json文件中设置
  • VxWorks的环境配置

    转载请标记出处 http blog csdn net zgh1988 article details 7994538 1 准备工作 1 VMWare 2 一台安装Windows XP或Window 7系统的PC机 3 Tornado 2 2
  • 进阶训练技巧提升模型性能

    在深度学习的世界中 训练技巧的重要性不言而喻 进阶训练技巧 包括损失函数 学习率 模型微调和半精度训练 更是对提升模型性能和准确率有着关键作用 下面我们将对这些技巧进行详细的探讨 一 损失函数 Loss Function 损失函数 或者叫作
  • 遍历map

    keySet是键的集合 Set里面的类型即key的类型 entrySet是 键 值 对的集合 Set里面的类型是Map Entry 1 keySet Map map new HashMap Iterator it map keySet it
  • 代码审计之JAVA代码审计洞态IAST系统以及SecExample靶场

    目录 2 JAVA系列代码审计 2 1 工具介绍 2 2 SecExample靶场安装 2 3 洞态IAST安装 2 3 洞态IAST使用 2 JAVA系列代码审计 之前我们都是采用代码审计工具对PHP代码进行审计 但是在实际的工作中对于从