0x00 前言
前段时间简单的开发了一下springboot等框架的项目,也算是入了一丢丢的门,所以这次借用Webgoat环境来学习我们的java审计,选择webgoat主要是因为是springboot写的,类似dvwa的靶场,所以我们可以通过对源码进行审计来学习
0x01 环境搭建
我这里使用的是用源代码来进行环境的搭建
webgoat github地址:https://github.com/WebGoat/WebGoat
我们直接将我们的代码clone到我们的本地
git clone https://github.com/WebGoat/WebGoat.git
然后看到说明需要的环境是java11
所以这里推荐装双版本的java,我这里安装的是一个java8和java11,然后利用jdk8 jdk11来进行切换
在~/.bash_profile
中添加
如下命令
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
export JAVA_HOME=$JAVA_8_HOME
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
然后默认的是java8 但是如果有需要用到java11的话通过jdk11进行切换版本即可
言归正传,gitclone 下来之后
我们进入目标的文件夹
执行mvn clean install
来下载我们的依赖
这里的依赖非常多需要花一段时间。
但是我在编译到最后的时候遇到了一个报错
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4:test
根据报错信息来看好像是在执行插件的时候报错了
导致最后失败这里我们在pom.xml 简单修改一下即可
找到我们的plugins标签
将红框中的内容添加进去即可
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore> </configuration>
</plugin>
然后重新执行命令即可。
之后我们可以直接通过命令mvn -pl webgoat-server spring-boot:run
来进行运行
但是毕竟我们是要进行代码审计的而不是用来学习我们的漏洞,所以我们这里利用IDEA进行打开
选中源代码中的pom.xml 文件
然后点击open as project即可
然后选中我们的webgoat-server 然后点击右上角的箭头即可
然后访问网址 http://localhost:8080/WebGoat/login
即可
接下来就可以结合靶场上的web漏洞开始愉快的审计啦!