2021-12-06-java代码审计环境准备

一、JDK的安装
下载地址:https://www.oracle.com/java/technologies/downloads/
安装方法,选择安装路径以后,直接配置环境变量路径即可(百度经验。。)

二、Docker环境的安装
1.docker安装(以kali linux为例子)

apt-get install docker.io

docker搜索镜像

docker search tomcat

docker拉取镜像

docker pull tomcat

查看镜像

docker images

删除镜像

docker rmi

运行镜像

docker run
常用 -it参数,用户提供交互式终端输入

退出容器

docker exit 

查看正在运行的容器

docker ps

停止容器

docker stop

重启容器

docker start

容器执行命令

docker exec -it containerid cmd

删除镜像

docker rm containerid

复制文件(可双向)

docker cp filename containerid:/filepath

docker-compose将下载镜像以及运行容器一体化构建起来,直接使用docker-compose命令即可轻松创建容器,代表例子是vulhub

# Download project
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
unzip vulhub-master.zip
cd vulhub-master

# Enter the directory of vulnerability/environment
cd flask/ssti

# Compile environment
docker-compose build

# Run environment
docker-compose up -d

三、调试环境的搭建
1.对jar包进行远程调试,以behinder.jar(冰蝎主文件)为例子。
先将behinder.jar作为库文件进行反编译,放在lib文件夹里面。

p1

接着配置debug配置,配置如下:
p2

接着在命令行启动相应jar文件,命令如下:

 java --module-path "/Library/Java/JavaVirtualMachines/jdk-13.jdk/javafx-sdk-11.0.2/lib" --add-modules=javafx.controls --add-modules=javafx.fxml --add-modules=javafx.base --add-modules=javafx.graphics --add-modules=javafx.web    -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005  Behinder.jar

这里踩坑,冰蝎已经移除jfx库文件,需要自己下载,因此要自己加上引用来加载module
然后在mainactivity处打上断点,即可进行debug.


p3

2.对docker中的weblogic应用进行远程调试
首先搭建docker容器应用,vulhub/weblogic/cve-2017-10721中修改docker-compose.yml文件


p4

增加8454端口映射
然后直接docker-compose up -d,下载运行容器,然后进入容器内部


p5

然后直接修改配置文件,允许调试
/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
p6

接着取相应的代码文件出来配置调试,将/root/Oracle/Middleware
下的modules文件夹以及wlserver_10.3文件夹下面的代码文件压缩,提取出来。


p7

然后照常把两个代码文件放到idea里面,作为库文件添加,然后idea 设置debug配置,设置远程地址为docker容器的主机地址即可。


p8

3.对docker中的tomcat应用进行调试
做法如2,区别在于,让tomcat开启远程调试的方法为

在容器中tomcat配置文件/usr/local/tomcat/bin/catalina.sh插入命令Java_OPTS="agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"

其他如上一摸一样,按部就班即可。

四、项目构建工具
1.Maven基础知识
pom.xml用于陈述项目文件信息,包含开发者信息,项目依赖,组织信息等多方面内容,maven不能没有pom.xml,写pom.xml可以直接在maven仓库查询,如图:

p9

maven可以用于漏洞环境的快速构建,只要写好pom.xml就可以在idea中自动下好环境以及依赖
p10

然后maven->reload project即可自动下载依赖。
2.swagger的作用主要是减轻开发人员维护restful api接口文档的工作量,做接口文档的统一管理
URL:http://Path/swaggerui.html

你可能感兴趣的:(2021-12-06-java代码审计环境准备)