WebGoat - 刻意设计的不安全Web应用程序

文章目录


一、关于 WebGoat

1、项目概览

WebGoat是由OWASP维护的刻意设计的不安全Web应用程序,用于教授Web应用安全课程。该项目演示了常见的服务器端应用漏洞,旨在帮助用户学习应用安全和渗透测试技术。

警告1: 运行此程序时您的机器将极易受到攻击,建议断开互联网连接使用。WebGoat默认绑定到localhost以最小化暴露风险。

警告2: 本程序仅用于教育目的。未经授权尝试这些技术很可能导致法律后果,大多数公司会解雇进行未授权黑客行为的员工。


2、相关链接资源


3、功能特性

  1. 安全教学平台

    • 提供多种服务器端应用漏洞场景
    • 包含完整的安全攻防练习体系
  2. 多环境支持

    • 支持Docker容器化部署
    • 提供完整Linux桌面环境镜像
    • 支持源码编译运行

二、安装配置

1、Docker运行方式

bash 复制代码
# 基础运行
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 webgoat/webgoat

# 设置时区
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=America/Boise webgoat/webgoat

# 使用代理配置
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e WEBGOAT_HOST=www.webgoat.local -e WEBWOLF_HOST=www.webwolf.local -e TZ=America/Boise webgoat/webgoat

2、带桌面环境的Docker运行

bash 复制代码
docker run -p 127.0.0.1:3000:3000 webgoat/webgoat-desktop

3、独立运行

bash 复制代码
# 设置时区后运行
export TZ=Europe/Amsterdam
java -Dfile.encoding=UTF-8 -jar webgoat-2023.8.jar

# 自定义端口
java -jar webgoat-2023.8.jar --webgoat.port=8001 --webwolf.port=8002

4、源码编译运行

前提条件:

  • Java 23
  • Git
  • Maven
bash 复制代码
git clone git@github.com:WebGoat/WebGoat.git
cd WebGoat
./mvnw clean install
./mvnw spring-boot:run

三、高级配置

1、自定义菜单

可通过环境变量排除特定类别或课程:

bash 复制代码
# 排除特定类别和课程
export EXCLUDE_CATEGORIES="CLIENT_SIDE,GENERAL,CHALLENGE"
export EXCLUDE_LESSONS="SqlInjectionAdvanced,SqlInjectionMitigations"
java -jar target/webgoat-2023.8-SNAPSHOT.jar

# Docker方式
docker run -d -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e EXCLUDE_CATEGORIES="CLIENT_SIDE,GENERAL,CHALLENGE" -e EXCLUDE_LESSONS="SqlInjectionAdvanced,SqlInjectionMitigations" webgoat/webgoat

伊织 xAI 2025-09-20(六)

相关推荐
Novlan114 小时前
@tdesign/uniapp 图标瘦身
前端
ManThink Technology14 小时前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络
. . . . .15 小时前
shadcn组件库
前端
QT.qtqtqtqtqt15 小时前
未授权访问漏洞
网络·安全·web安全
2501_9447114315 小时前
JS 对象遍历全解析
开发语言·前端·javascript
发现一只大呆瓜16 小时前
虚拟列表:支持“向上加载”的历史消息(Vue 3 & React 双版本)
前端·javascript·面试
css趣多多16 小时前
ctx 上下文对象控制新增 / 编辑表单显示隐藏的逻辑
前端
_codemonster16 小时前
Vue的三种使用方式对比
前端·javascript·vue.js
寻找奶酪的mouse16 小时前
30岁技术人对职业和生活的思考
前端·后端·年终总结
梦想很大很大16 小时前
使用 Go + Gin + Fx 构建工程化后端服务模板(gin-app 实践)
前端·后端·go