news 2026/9/18 17:24:16

如何用WebGoat入门Web安全实战:一份免费的完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用WebGoat入门Web安全实战:一份免费的完整教程

如何用WebGoat入门Web安全实战:一份免费的完整教程

【免费下载链接】WebGoatWebGoat is a deliberately insecure application项目地址: https://gitcode.com/GitHub_Trending/we/WebGoat

想练SQL注入、XSS,又不敢碰真实的生产环境?WebGoat 就是为此而生的:它是 OWASP 维护的、故意留满漏洞的 Web 应用,你在本地自由演练 Web 安全实战——SQL 注入、XSS、JWT 伪造都能动手做,做坏了也没关系。🐐

WebGoat到底是什么

一句话定位:WebGoat 是 OWASP 官方出品的"故意不安全"教学站点,漏洞是真的,攻击是合法的,学的是防御。适合想入门 Web 安全但找不到练手环境的人。

  • 免费开源:代码全部开放,装在自己机器上跑
  • 真实环境:每个练习是可复现的攻击场景,配提示和答案
  • 源码可查:每个实验的实现代码就在仓库里,能看到"为什么能被攻破"
  • 进度可见:完成的练习会记录在你的成绩单里

第一次跑起来

环境要求一句话:装好Java 25和 Git(Maven 由仓库自带的 mvnw 处理)。然后两条命令:

git clone https://gitcode.com/GitHub_Trending/we/WebGoat cd WebGoat && ./mvnw spring-boot:run

等几分钟,浏览器打开 http://localhost:8080/WebGoat,注册一个账号就进来了。默认只监听本机,外网看不到。

它能帮你实际解决什么

跑起来之后,下面这些场景你都可以直接上手练。

不碰生产环境练SQL注入

登录框里多一个单引号就让数据库报错,这就是注入。WebGoat 里你从基础注入一路做到盲注,每次提交立刻知道成没成;做完攻击还能切到防御章节,用参数化查询把同样的注入挡回去。难度:入门级,无前置要求。

分清反射型、存储型与DOM型XSS

有人在评论区粘贴一段代码,打开页面的其他用户浏览器里它直接执行了。WebGoat 让你三类 XSS 挨个做一遍,每个实验都有校验端点,payload 进了页面才算通过;想弄清回显点在哪,源码就在 src/main/,照着实验名找包就行。难度:会看基本 HTML 结构即可。

从一个token看懂JWT伪造

应用靠一个小令牌认人,但验证太松就能被替换。你先解码看 token 里存了什么,再动手用错误的密钥签名试试。

难度:需要先理解 HTTP 请求的基本结构。

检验你理解的权限设计

把 URL 里的 id 改成别人的,就能看到别人的资料——这是越权访问。WebGoat 的访问控制章节按"看自己→看别人→改别人"三步设计,让你直观感受后端不校验权限时攻击面有多大。难度:中等,需要知道角色与权限的基本概念。

避坑指南

  • Java版本太旧:mvnw 报错或编译不过,多半是本地 JDK 低于项目要求的 25,升级 Java 25 即可。
  • 端口被占用:8080 打不开时查一下是不是别的服务占着,用--webgoat.port=8001换个端口启动。
  • ⚠️ 联网挂着跑:它故意有漏洞,官方 README 明确要求使用时断开外网;默认只监听本机,别自己把端口暴露出去。

你应该走哪条路线

  • 纯新手:按顺序清掉 Introduction 和 HTTP Basics 两章;卡住就先读提示再动手;每章做完翻一次对应源码,核对校验逻辑。
  • 在职进阶:主攻访问控制和 SQL 注入防御两章;每完成一个练习,给自己的工作项目写一条对应防线;用 Docker 方式整体跑一遍,熟悉部署链路。
  • 备考或比赛向:把 SqlInjectionAdvanced 的盲注从头做到尾;做完后回看练习的判定逻辑,理解出题人如何验证你的 payload。

WebGoat 把"Web 安全很难"变成"先动手试试"——免费、本地运行、攻击零风险。今晚就打开它完成第一个练习,更多细节看 docs/README.md。

【免费下载链接】WebGoatWebGoat is a deliberately insecure application项目地址: https://gitcode.com/GitHub_Trending/we/WebGoat

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 17:23:44

Git分支全面解析:从指针原理到合并冲突与实战管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 17:21:43

MySQL与Oracle核心差异:事务、SQL、运维实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 17:17:52

Origin中文教程高效学习指南:数据导入、绘图、FFT拟合与LabTalk自动化

简介:这份《ORIGIN教程中文版汇编》面向科研人员、数据分析初学者及需要绘制专业图表的高校师生,系统梳理了Origin软件从入门到进阶的核心操作。内容涵盖工作环境与菜单栏介绍、数据输入与简单二维图绘制、列属性设置与数据浏览、图形定制(数…

作者头像 李华
网站建设 2026/9/18 17:17:16

Multisim主数据库路径错误修复指南:从配置到注册表全解析

1. 问题定位:主数据库路径错误到底卡在哪一环Multisim 的主数据库路径错误,几乎是每个电子仿真从业者绕不开的一道坎。你兴冲冲装完软件,双击图标,弹窗直接甩过来一句“无法访问数据库”或者“主数据库路径无效”,然后…

作者头像 李华
网站建设 2026/9/18 17:17:13

微机接口技术习题精解:8255/8253/8259A控制字与中断向量

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 17:17:09

GD25Q80E SPI NOR Flash调试实战:从命令时序到STM32 QSPI驱动

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华