Java-Sec-Code 环境搭建

一、Java Sec Code 介绍

对于学习Java漏洞代码来说,Java Sec Code是一个非常强大且友好的项目。

该项目也可以叫做Java Vulnerability Code(Java漏洞代码)。

每个漏洞类型代码默认存在安全漏洞(除非本身不存在漏洞),相关修复代码在注释里。

具体可查看每个漏洞代码和注释。

下载地址:https://github.com/JoyChou93/java-sec-code

二、搭建环境

IDEA

由于在 windows 对代码进行审计,方便 debug 和审计,选择用 IDEA 来查看源码的执行走向。

首先配置好 Maven 的仓库路径和配置文件路径,以便方便管理 jar 包。 

参考:SpringBoot——IDEA配置maven_Lukey Alvin的博客-CSDN博客_springboot配置maven

配置好 Maven 后,我们打开加载 Java-sec-code 项目。

然后等待 Maven 下载依赖的 jar 包。

Java-Sec-Code 环境搭建_第1张图片

Java-Sec-Code 环境搭建_第2张图片

创建数据库,导入 sql 文件。

Java-Sec-Code 环境搭建_第3张图片

Java-Sec-Code 环境搭建_第4张图片

然后在 IDEA 修改好数据库的 root 用户的密码。

现在就可以启动项目了。打开 localhost:8080 就是 Java-sec-code 了。

输入数据库的账号密码即可。

Java-Sec-Code 环境搭建_第5张图片

由于作者搭建本项目的平台是基于 Linux 的所以我们将该项目配置好后,打包成 jar 包到虚拟机中运行,我个人用的是 Ubuntu 运行 Java-sec-code 的 jar 包,在 windows 中用 IDEA 进行审计。

在 IDEA 中把数据库给连接上。

Java-Sec-Code 环境搭建_第6张图片

输入刚才创建的用户密码和数据库既可。Java-Sec-Code 环境搭建_第7张图片

接着对项目进行 package,生成 jar 包后复制到虚拟机。

Java-Sec-Code 环境搭建_第8张图片

虚拟机

首先在虚拟机中创建 java_sec_code 的数据库,不然在执行数据库的查询语句的时候会连接不上 jdbc,导致无数据返回,这样 SQL 注入就无回显。(重要!)

 root 用户的这个密码要跟 application.properties 的配置一样

// 登录 mysql 的 root 用户
mysql -u root -p
// 创建数据库
create database java_sec_code;
// 创建 jsc 用户和密码 (这步可以省略),毕竟在 application.properties 用的是 root 用户
create user 'jsc'@'localhost' identified by 'jsc123';
// 在 mysql 执行 sql 文件,最好到 create_db.sql 文件的路径,或者使用绝对路径
use java_sec_code;
source create_db.sql;

创建完数据库后,在虚拟机中用 java8 运行该 jar 包。如果没有安装可以先安装 java8。
建议用 nohup 命令来放在后台执行。

运行 package 出的 jar 包,nohup 是不挂断的运行,最后的 & 是放在后台运行
2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到 
/dev/null 相当于垃圾桶

// 安装 java8
sudo apt install openjdk-8-jdk
// 不挂断的后台运行
nohup java -jar java-sec-code-1.0.0.jar > /dev/null 2>&1 &
// 查看虚拟机的 ip 地址
ifconfig

Java-Sec-Code 环境搭建_第9张图片

访问 192.168.23.128:8080,正常登录即可。

Java-Sec-Code 环境搭建_第10张图片

开始进行学习审计。

Java-Sec-Code 环境搭建_第11张图片

你可能感兴趣的:(麻瓜,Java,Web,代码审计,安全,java,web安全,intellij-idea)