一、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文件夹里面。
接着配置debug配置,配置如下:
接着在命令行启动相应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.
2.对docker中的weblogic应用进行远程调试
首先搭建docker容器应用,vulhub/weblogic/cve-2017-10721中修改docker-compose.yml文件
增加8454端口映射
然后直接docker-compose up -d,下载运行容器,然后进入容器内部
然后直接修改配置文件,允许调试
/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
接着取相应的代码文件出来配置调试,将/root/Oracle/Middleware
下的modules文件夹以及wlserver_10.3文件夹下面的代码文件压缩,提取出来。
然后照常把两个代码文件放到idea里面,作为库文件添加,然后idea 设置debug配置,设置远程地址为docker容器的主机地址即可。
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仓库查询,如图:
maven可以用于漏洞环境的快速构建,只要写好pom.xml就可以在idea中自动下好环境以及依赖
然后maven->reload project即可自动下载依赖。
2.swagger的作用主要是减轻开发人员维护restful api接口文档的工作量,做接口文档的统一管理
URL:http://Path/swaggerui.html