WebGoat 靶场搭建
靶场部署
Docker镜像部署
启动docker容器:
1 | docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 webgoat/webgoat |
访问 http://127.0.0.1:8080/WebGoat/ 和 http://127.0.0.1:9090/WebWolf/ 即可。
jar包一键运行
需要本地安装Java,官方要求版本最好大于等于JDK 17,实际验证至少是JDK 11。
下载官方编译好的jar包,直接运行:
1 | java -jar webgoat-2023.5.jar |
访问 http://127.0.0.1:8080/WebGoat/ 和 http://127.0.0.1:9090/WebWolf/ 即可。
源码部署(推荐,方便代码审计和调试)
git克隆源码:
1 | git clone https://github.com/WebGoat/WebGoat.git |
使用IDEA打开文件夹项目,会自动根据pom.xml文件下载所需的组件,可能需要较长的时间。
等待组件下载完成,找到 src/main/java/org/owasp/webgoat/server/StartWebGoat.java
文件,右键运行即可。
访问 http://127.0.0.1:8080/WebGoat/ 和 http://127.0.0.1:9090/WebWolf/ 即可。
注意:
如果运行出现了错误请按照下图关掉JMX端点(消除错误的关键),并添加虚拟机选项 --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
(消除IO警告)。
注意:
一些和答题相关的关卡总是看不到题目,直接改代码解决,一劳永逸。翻了半天找到了要修改的文件:src/main/resources/webgoat/templates/lesson_content.html
。
修改后的内容如下,其实就是加了一行 jquery
的引用。
1 |
|
抓包配置技巧
如果想要通过bp或者yakit等抓取本地回环127.0.0.1的数据包是比较麻烦的,这里推荐通过使用修改hosts文件的方法来解决。
在Windows下hosts文件在 "C:\Windows\System32\drivers\etc\"
目录下。通过记事本或其他文本编辑器打开hosts文件,在末尾追加两行新的IP-域名映射记录。
1 | # webgoat |
这里将这两个自定义的域名解析为本地回环地址后,通过该域名替代127.0.0.1访问WebGoat网页,即可实现bp等工具的正常抓包。