交互式安全编码培训,提供动手实操的 SCORM 练习,涵盖 OWASP Top 10 Web 与 API 漏洞、Git/敏感信息泄露,以及 10 多种语言的修复示例。
40 个免费、开源的安全编码练习,以开发者学习的方式教授 Web 应用安全 —— 通过利用 SQL 注入、跨站脚本(XSS)和访问控制失效等真实漏洞,然后编写修复代码。交互式 SCORM 模块涵盖 OWASP Web 应用十大安全风险、OWASP API 安全十大风险、Git 与 CI/CD 仓库安全等内容。修复示例涵盖 JavaScript、TypeScript、Java、C#、Python、Scala、PHP、Ruby、Go 和 Kotlin。面向个人开发者、非营利组织以及员工少于 25 人的小型企业免费。为大学和教育机构提供企业版折扣定价。

👥 与创始人交流 | 🔗 浏览完整库 | 🎮 试用实时 DOM XSS 演示
每年读一遍 OWASP 十大安全风险并通过多项选择题测验,并不能防止生产环境中的 Web 应用漏洞。开发者需要看到真实漏洞利用会造成什么后果 —— SQL 注入拖库、跨站脚本劫持会话、访问控制失效泄露其他用户的数据 —— 然后编写阻止它的安全代码。
这个免费、开源的安全编码培训库中的每个练习都遵循三阶段方法论:利用、追踪、修复。
你对一个故意存在漏洞的应用进行动手渗透测试 —— 针对数据库的 SQL 注入、在浏览器中触发的 XSS、触及云元数据端点的 SSRF —— 然后精确追踪漏洞是如何引入的,并应用安全编码最佳实践来修复它。
练习涵盖:
每个练习都以通过阈值为 100% 的测验结束。当开发者开始编写生产代码时,他们已经利用过每一种常见的 Web 应用程序漏洞,并掌握了防止这些漏洞的安全编码最佳实践。
每个练习都以 SCORM 1.2 .zip 形式提供——可导入任何 LMS(Moodle、TalentLMS、Docebo、Cornerstone、SAP SuccessFactors、Workday Learning 或任何符合 SCORM 标准的平台),嵌入到你的安全 SDLC 或 DevSecOps 培训流水线中,或在推广前先在 SCORM Cloud 上预览。
白标——模块内无徽标、无反向链接、无需署名,无供应商锁定。可将其用于 DevSecOps 计划、安全 SDLC 倡议、开发者入职培训或独立的应用程序安全培训。谁可以使用它们以及以何种条款使用,详见下方的许可证部分。
这个开源安全编码培训库依据 RansomLeak Community License 发布(参见 LICENSE)。如果你是以下情况,则可免费使用:
在免费许可证下,你可以将模块导入任何 LMS,为你的工程团队运行这些模块,将其嵌入你自己的安全 SDLC 培训计划,并在你举办的工作坊中使用。禁止将内容作为独立产品再分发或转售,也禁止将其作为服务交付给第三方客户(参见面向 MSP 和咨询公司的应用程序安全培训)。
没有培训预算? 如果你的员工超过 25 人但没有安全编码培训预算,请**联系我们**。我们经常以联合营销(案例研究、推荐语、在我们网站上展示徽标或评价)为交换条件,商定个性化条款。
大学、学校、编程训练营或其他教育机构? 机构使用——大规模培训员工、教职员工或学生——由企业计划以教育折扣覆盖。请提供你所在机构的详细信息并**联系我们**以获取定价。
员工达到 25 人或以上,或需要 DPA、供应商合同、始终最新的内容,或为你的技术栈定制的练习? **企业计划正适合你。它包括针对你员工人数的完整商业许可证,以及你的安全和采购团队会要求的一切。请给我们留言**以获取定价。
本仓库的早期版本依据 CC BY-NC 4.0 发布。在该许可证下获得的副本仍受其条款约束;从本版本开始发布的所有内容均依据 RansomLeak Community License 发布。
面向员工达到 25 人或以上的工程组织、教育机构,或任何需要免费库所提供内容之外更多内容的组织。除商业许可证本身之外,企业计划还增加了以下内容:
另外,如果你不想自己运行 LMS,我们的**应用安全培训企业云平台**自带完整的练习库:
联系我们,观看实际演示。
将本内容交付给你的客户不在免费许可证的覆盖范围内——这需要 MSP 计划。该平台从底层就是多租户架构,专为通过单一控制台在整个客户组合中交付安全编码培训而构建:
感兴趣?联系我们
点击劫持 — 通过叠加透明 iframe 窃取银行审批按钮上的一次点击,捕获一次真实审批,并交付 CSP frame-ancestors。
命令注入 — 通过篡改捕获的请求,将第二条命令串联到服务端工具上,观察服务器机密泄露,并交付参数列表执行。
含已知漏洞的组件 — 通过利用已公开的 CVE,借助过时的库实现代码执行,通过精心构造的上传运行命令,并升级版本、在 CI 中扫描。
跨站请求伪造 — 通过自动提交跨站转账,从受害者从未信任的页面转移资金,理解 cookie 为何会随请求发送,并添加按会话的令牌和 SameSite。
目录遍历 — 通过下载链接逃逸出预期目录来读取系统文件,从服务器拉取 /etc/passwd,并进行规范化后再校验。
DOM XSS — 将 payload 隐藏在 URL hash 中,触发服务器永远看不到的 XSS,追踪不安全的 innerHTML 接收点,并改用 textContent。
强制浏览 — 通过匿名访问内部 URL,从未链接的路由中拉取员工 PII 导出数据,理解为何隐蔽性不等于访问控制,并在服务端强制执行身份验证。
水平权限提升 — 改动一个数字即可读取另一位客户的数据,从两侧走查 IDOR,枚举连续的记录 id,并补上缺失的所有权检查。
Host 头注入 — 通过伪造 X-Forwarded-Host 头,将密码重置邮件重定向到仿冒域名,窃取被点击的重置令牌,并固定配置的基础 URL。
不安全的 URL 重定向 — 滥用 next 参数,将钓鱼页面隐藏在真实登录页之后,理解为何域名看起来正确,并仅允许相对目标。
遗留调试代码 — 从被遗忘的调试路由中拉取生产环境密钥,找到导出环境变量的端点,读取 JWT 和数据库密钥,并通过允许列表实现失败关闭。
URL 中的 PII — 通过发现查询字符串中的标识符,直接从链接中提取个人数据,追踪该泄露进入日志和 referrer 的路径,并改写为不透明令牌。
反射型 XSS — 构造一个打开即执行的恶意 URL,将 payload 从搜索页面反射出去,理解受害者点击链接的流程,并在渲染边界处进行转义。
服务端请求伪造 — 滥用链接预览功能,让服务器获取自身的云凭据,访问元数据端点,并校验出站目标。
会话固定 — 植入一个会话 id 并继承受害者的登录状态,在受害者身上固定一个已知 id,观察登录过程复用它,并在每次登录时重新生成。
SQL 注入 — 通过一个未防护的查询表单转储数据库,利用恒真 payload,使用 UNION SELECT 窃取表数据,并交付参数化修复方案。
存储型 XSS — 在评论中植入脚本并观察其触发,将 payload 存储在用户内容中,看到它在下一位访客处执行,并在渲染时对输出进行转义。
URL 中的令牌泄露 — 重放从 referrer 日志中收集的会话令牌,在重定向 URL 中捕获令牌,将其重放到活跃账户中,并迁移到 HttpOnly cookie。
用户枚举 — 从登录表单中收集已验证的客户列表,读取不同的错误响应体,测量响应时间泄露,并统一错误信息和时序。