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(六)

相关推荐
GIS数据转换器2 分钟前
GIS+大模型助力安全风险精细化管理
大数据·网络·人工智能·安全·无人机
抱琴_10 分钟前
【Vue3】大屏性能优化黑科技:Vue 3 中实现请求合并,让你的大屏飞起来!
前端·vue.js
不会玩电脑的Xin.11 分钟前
HTML + CSS
前端·css·html
普普通通的南瓜26 分钟前
IP证书在关键信息基础设施安全防护中的实践与挑战
网络·数据库·网络协议·tcp/ip·安全·ssl
hadage23332 分钟前
--- JavaScript 的一些常用语法总结 ---
java·前端·javascript
彭于晏爱编程32 分钟前
🍭🍭🍭升级 AntD 6:做第一个吃螃蟹的人
前端
合作小小程序员小小店37 分钟前
桌面安全开发,桌面二进制%恶意行为拦截查杀%系统安全开发3.0,基于c/c++语言,mfc,win32,ring3,dll,hook,inject,无数据库
c语言·开发语言·c++·安全·系统安全
掘金一周43 分钟前
大部分人都错了!这才是chrome插件多脚本通信的正确姿势 | 掘金一周 11.27
前端·人工智能·后端
_瑶瑶_1 小时前
浅记一下ElementPlus中的虚拟化表格(el-table-v2)的简单使用
前端·javascript