OWASP Security Shepherd 
OWASP Security Shepherd 项目是一个 Web 和移动应用安全培训平台。Security Shepherd 旨在培养并提升不同技能水平人群的安全意识。本项目的目标是让应用安全新手或经验丰富的工程师将其渗透测试技能提升至安全专家水平。

文档
文档位于 **https://owasp.github.io/SecurityShepherd/**:如何游玩、如何运行 Security Shepherd 及举办活动,以及如何贡献。
快速开始
请先查看先决条件。然后构建并启动 Security Shepherd:
git clone https://github.com/OWASP/SecurityShepherd.git
cd SecurityShepherd
# Build the WAR and generate the database scripts the images need
mvn -Pdocker clean package -DskipTests
# Build the images and start the containers
docker compose up -d --build
然后打开 https://localhost 并按照 Getting started 配置数据库并登录。
这是面向笔记本电脑或课堂实验环境的快速启动方式,并非生产部署:它使用众所周知的默认密码和自签名证书。在供他人使用之前,请按照 Deploying into production 操作。要将现有安装迁移到 4.0,请参阅 Upgrading。
预构建镜像以 owasp/security-shepherd 发布到 Docker Hub。Verifying the images 说明了标签的含义以及如何检查镜像的 SBOM 和来源信息。
3.1 虚拟机与手动安装包仍保留在 releases page 上,wiki 对其进行了说明。
Security Shepherd 可用于哪些场景?
Security Shepherd 可用作:
- 面向所有应用安全的教学工具
- Web 应用渗透测试培训平台
- 移动应用渗透测试培训
- 用于练习 AppSec 技术的安全演练场
- 演示真实安全风险示例的平台
为什么选择 Security Shepherd?
OWASP 项目清单中有许多专门设计为存在漏洞的应用程序,互联网上还有更多。为什么你应该使用 Security Shepherd?以下是几个理由;
- 广泛的主题覆盖
Shepherd 在单个项目中包含了涵盖 Web 和移动应用程序安全整个领域的六十多个关卡。
- 平缓的学习曲线
Shepherd 非常适合完全刚接触安全的用户,关卡难度以令人愉快的节奏逐步提升。
- 通俗易懂的讲解
当每个安全概念在 Shepherd 中首次呈现时,都是以通俗易懂的方式进行的,以便任何人(甚至初学者)都能理解。
- 真实世界的示例
Shepherd 中的安全风险是真实的漏洞,只是其利用影响已被削弱,以保护应用程序、用户和环境。不存在需要预期特定攻击向量才能通过关卡的模拟安全风险。在 Shepherd 上使用的攻击向量与它们在真实世界中的行为方式一致。
- 可扩展性
Shepherd 既可由单个用户在本地使用,也可轻松作为服务器供大量用户使用。
- 高度可定制
Shepherd 允许管理员设置哪些关卡对其用户可用,以及以何种方式呈现(开放、CTF 和锦标赛布局)
- 非常适合课堂
Shepherd 为每位玩家提供用户专属的解答密钥,以防止学生共享密钥,而不是去完成关卡所需的步骤。
- 记分板
Security Shepherd 具有可配置的记分板,以鼓励竞争性的学习环境。第一、第二和第三个完成关卡的用户会在其记分板条目上获得奖牌和奖励积分,以保持记分板的趣味性。
- 用户管理
Security Shepherd 管理员可以通过管理员用户管理控件创建用户、创建管理员、暂停、恢复、添加奖励积分或扣除用户的惩罚积分。管理员还可以将学生划分到特定的班级组中。管理员可以查看班级的进度,以识别有困难的参与者。如果管理员希望获得私密体验,甚至可以关闭公开注册并手动创建用户。
- 稳健的服务
Shepherd 曾被用于运行在线 CTF,例如 OWASP Global CTF 和 OWASP LATAM Tour CTF 2015,两者均超过 200 名活跃用户,除计划维护时段外,运行期间无停机。
- 可配置的反馈
管理员可以启用反馈流程,用户必须在关卡被标记为完成之前完成该流程。这既用于根据提交的反馈促进项目改进,也用于系统管理员从学生那里收集“理解报告”。
- 细粒度日志记录
Security Shepherd 报告的日志高度详细且描述性强,但不会令人眼花缭乱。如果用户行为不当,你会知道。