拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OWASP Cheat Sheet Series:OWASP Top Ten 2021 安全速查表导航指南

OWASP Cheat Sheet Series:OWASP Top Ten 2021 安全速查表导航指南
  • 应用安全

【免费下载链接】CheatSheetSeries

The OWASP Cheat Sheet Series was created to provide a concise collection of high value information on specific application security topics.

项目地址:https://gitcode.com/gh_mirrors/ch/CheatSheetSeries
点击查看免费下载

导读:本文基于 OWASP Cheat Sheet Series 仓库中的 IndexTopTen.md,系统梳理 OWASP Top Ten 2021 十大(实为十一大)安全风险类别与仓库内 120+ 篇安全速查表(Cheat Sheet)的映射关系。读者可按 A01–A11 风险类别快速定位到对应的防御指南,也可通过本仓库的字母索引脚本与本地构建工具,将这份导航能力接入自己的开发与安全评审流程。

为什么需要"Top Ten → Cheat Sheet"映射

OWASP Top Ten 2021 是面向开发者与 Web 应用安全人员的标准意识文档,代表了对 Web 应用最严重安全风险形成的广泛共识。它回答的是"哪些风险最危险";而 Cheat Sheet Series 回答的是"具体如何防御"。

OWASP Cheat Sheet Series 正是以"为构建者提供良好安全实践"为宗旨的旗舰项目(见 README.md),仓库中每篇速查表都聚焦一个具体的安全主题,提供可落地的配置示例、代码片段与检查清单。因此,本仓库在根目录维护了IndexTopTen.md这一映射索引,将 Top Ten 2021 的每个风险类别与其对应的速查表一一对应,形成"风险 → 防御 → 落地"的完整闭环。

映射总览

风险类别主题映射速查表数量
A01:2021Broken Access Control(失效的访问控制)4
A02:2021Cryptographic Failures(加密失败)6
A03:2021Injection(注入)10
A04:2021Insecure Design(不安全设计)3
A05:2021Security Misconfiguration(安全配置错误)4
A06:2021Vulnerable and Outdated Components(易受攻击和过时的组件)3
A07:2021Identification and Authentication Failures(身份识别和认证失败)10
A08:2021Software and Data Integrity Failures(软件和数据完整性失败)1
A09:2021Security Logging and Monitoring Failures(安全日志记录和监控失败)2
A10:2021Server-Side Request Forgery(服务端请求伪造)1
A11:2021Next Steps(下一步)1

注:OWASP Top Ten 2021 正式版本为十大风险,但官方文档中额外以 "Next Steps"(A11)列出后续建议关注的方向,本映射索引亦将其收录,指向 Denial of Service Cheat Sheet。

A01:2021 – Broken Access Control(失效的访问控制)

访问控制失效是 2021 版 Top Ten 中排名第一的风险,指应用程序未能正确限制用户对资源或功能的访问权限,攻击者可越权读取、修改或删除数据。

本类别映射以下 4 篇速查表:

  • Authorization Cheat Sheet:授权逻辑设计的总纲。其中明确了授权与认证的区别(认证确认"你是谁",授权确认"你能做什么"),并给出最小权限(Least Privileges,需同时在横向与纵向维度执行)、默认拒绝(Deny by Default)等核心原则,以及在整个开发生命周期(SDLC)中持续验证权限映射的测试建议。
  • Insecure Direct Object Reference Prevention Cheat Sheet:聚焦 IDOR——当攻击者通过篡改 URL 或参数中的对象标识符(如https://example.org/users/123中的123)来访问或修改他人对象时发生的漏洞。该速查表将其拆解为三个要素:对象(账户、文档、工单等)、引用(ID、UUID、令牌等)、缺失的对象级授权检查,并给出 URL 与 POST 表单两种典型攻击场景。
  • Transaction Authorization Cheat Sheet:面向银行、开发者与渗透测试人员,讲解如何为交易授权建立功能性与非功能性需求,防止交易授权被绕过。
  • Cross-Site Request Forgery Prevention Cheat Sheet:CSRF 攻击利用浏览器自动携带 Cookie 的特性,诱使已认证用户在不知情的情况下执行非预期操作。在 2021 版 Top Ten 中 CSRF 被并入访问控制类别。其防御原则包括:优先使用框架内置的 CSRF 防护;为所有状态变更请求添加并后端校验 CSRF Token;有状态应用采用 Synchronizer Token Pattern,无状态应用采用 Double Submit Cookie;现代浏览器场景可结合 Fetch Metadata 头拦截跨站请求;并特别强调XSS 可击穿所有 CSRF 缓解措施,需配合 Cross Site Scripting Prevention Cheat Sheet 使用。

A02:2021 – Cryptographic Failures(加密失败)

本类别聚焦数据在传输与存储过程中的加密保护失败,包括明文传输敏感数据、使用弱加密算法或密钥管理不当。

本类别映射以下 6 篇速查表:

  • Cryptographic Storage Cheat Sheet:提供保护静态数据的实施模型,强调密码不应使用可逆加密存储,而应使用安全的密码哈希算法(详见 Password Storage Cheat Sheet),并从架构设计阶段开始考虑加密方案。
  • Transport Layer Security Cheat Sheet:讲解如何用 TLS 保护客户端与 Web 应用之间的 HTTPS 通信,覆盖机密性、完整性、服务器认证三大安全收益,并区分 SSL 与 TLS。
  • HTTP Strict Transport Security Cheat Sheet:介绍 HSTS 响应头(RFC 6797)——浏览器收到该头后强制所有通信走 HTTPS,并消除 HTTPS 点击通过提示,抵御降级攻击与 Cookie 劫持。
  • Secrets Management Cheat Sheet:针对 API 密钥、数据库凭据、SSH 密钥、证书等机密集中存储、供给、审计、轮换与管理的实践指南,解决凭据硬编码与共享导致溯源困难的问题。
  • Key Management Cheat Sheet:覆盖密钥生命周期管理(生成、分发、销毁)、密钥泄露恢复与归零、密钥存储、密钥协商等主题。
  • Pinning Cheat Sheet:讲解证书钉扎与公钥钉扎技术,防止中间人攻击绕过受信任的证书体系(仓库 assets 目录中提供了对应的 OpenSSL 与 .NET 示例压缩包)。

A03:2021 – Injection(注入)

注入类风险是 Web 安全的传统头号威胁,2021 版将原先独立排名的 XSS 也并入了此类。

本类别映射的速查表最多,共 10 篇,覆盖注入的完整防御链条:

  • Injection Prevention Cheat Sheet:各类注入(SQL、命令、表达式等)防御的总纲。
  • SQL Injection Prevention Cheat Sheet 与 Query Parameterization Cheat Sheet:前者聚焦 SQL 注入的根本性防御,后者深入讲解查询参数化(Prepared Statement)这一最关键的单点防御措施及其在多语言下的落地方式。
  • Injection Prevention in Java Cheat Sheet:Java 技术栈下注入防护的专项指南。
  • LDAP Injection Prevention Cheat Sheet 与 OS Command Injection Defense Cheat Sheet:分别针对 LDAP 查询注入与操作系统命令注入(仓库 assets 中配有命令注入攻击流程示意图)。
  • XSS 防御四件套:Cross Site Scripting Prevention Cheat Sheet(输出编码核心规则)、DOM based XSS Prevention Cheat Sheet(DOM 型 XSS 专项)、XSS Filter Evasion Cheat Sheet(绕过手法盘点,用于验证防御有效性)、Content Security Policy Cheat Sheet(以 CSP 作为纵深防御兜底)。

A04:2021 – Insecure Design(不安全设计)

2021 版新增类别,强调安全风险应在架构与设计阶段就被识别,而非留待编码期修补。

  • Threat Modeling Cheat Sheet:威胁建模方法论与 DFD(数据流图)实践(仓库 assets 中配有 DFD 示意图)。
  • Abuse Case Cheat Sheet:通过系统化构造滥用用例来补充传统用例,提前暴露设计缺陷(仓库 assets 中提供 Abuse Case 总览图与 Schema Bundle 示例)。
  • Attack Surface Analysis Cheat Sheet:识别与度量系统攻击面的方法。

A05:2021 – Security Misconfiguration(安全配置错误)

安全配置错误涵盖默认凭据未修改、目录列表未关闭、错误页面泄露信息等常见问题。

  • Infrastructure as Code Security Cheat Sheet:在 IaC(如 Terraform、CloudFormation)中固化安全配置,避免漂移。
  • XML External Entity Prevention Cheat Sheet:针对 XXE(XML 外部实体)攻击的配置级防护。
  • PHP Configuration Cheat Sheet:PHP 运行环境的加固配置项说明。
  • Docker Security Cheat Sheet:容器镜像与运行时的安全配置基线。

A06:2021 – Vulnerable and Outdated Components(易受攻击和过时的组件)

  • Vulnerable Dependency Management Cheat Sheet:第三方依赖漏洞的识别、评估与修复流程。
  • Third Party Javascript Management Cheat Sheet:第三方 JavaScript 的引入与管控策略。
  • NPM Security Cheat Sheet:npm 生态的安全最佳实践,包括供应链信任与依赖审计。

A07:2021 – Identification and Authentication Failures(身份识别和认证失败)

认证机制缺陷是攻击者的常见突破口,本类别映射的速查表同样多达 10 篇:

  • Authentication Cheat Sheet:认证机制设计的总纲。
  • Session Management Cheat Sheet:会话标识的生成、传递、过期与销毁(仓库 assets 中配有会话管理示意图)。
  • Forgot Password Cheat Sheet 与 Choosing and Using Security Questions Cheat Sheet:密码找回与密保问题的安全设计。
  • Credential Stuffing Prevention Cheat Sheet:针对撞库攻击的检测与缓解。
  • Password Storage Cheat Sheet:密码哈希算法选型与参数(仓库 assets 中附有 PBKDF2 迭代次数测试的 Java 示例)。
  • Multifactor Authentication Cheat Sheet:MFA 的多因素组合与实现要点。
  • JSON Web Token Cheat Sheet 与 SAML Security Cheat Sheet:两大主流认证/授权协议的实现与漏洞规避。
  • Denial of Service Cheat Sheet:面向认证接口的暴力破解往往伴随 DoS 风险,该速查表提供限流与弹性设计参考(仓库 assets 中配有 DoS 攻击流程示意图)。

A08:2021 – Software and Data Integrity Failures(软件和数据完整性失败)

  • Deserialization Cheat Sheet:反序列化漏洞是此类别最典型的代表,涉及信任不可信数据、对象图攻击、各类语言的加固手段(仓库 assets 中提供 GOD16 反序列化专题 PDF 供深入参考)。

A09:2021 – Security Logging and Monitoring Failures(安全日志记录和监控失败)

  • Logging Cheat Sheet:安全日志的记录内容、格式与事件分类设计(仓库 assets 中配有日志模式示意图与 drawio 源文件)。
  • Application Logging Vocabulary Cheat Sheet:为日志字段建立统一词汇表,确保不同系统间的日志可互操作、可检索、可关联。

A10:2021 – Server-Side Request Forgery(服务端请求伪造)

  • Server Side Request Forgery Prevention Cheat Sheet:SSRF 的成因(服务端发起未受控的请求)与分层防御,包括网络层隔离、DNS 解析校验、响应验证与白名单机制(仓库 assets 中配有网络层预防流程图及 SSRF 专题参考资料)。

在仓库中如何使用这份导航索引

1. 与字母索引配合使用

仓库根目录的 Index.md 是由脚本 scripts/Update_CheatSheets_Index.py 自动生成的字母索引,当前收录 122 篇速查表,按首字母分组,并用 SVG 图标标注每篇速查表包含代码示例的编程语言(Java、C#、Python 等)。

两者的分工是:按风险类别找方案用 IndexTopTen.md,按名称或语言找文档用 Index.md。例如,当你从 A01 定位到 Authorization Cheat Sheet 后,可以在 Index.md 中确认它的全部入口,或按语言过滤出带有代码示例的同主题文档。

从源码看,Update_CheatSheets_Index.py会扫描cheatsheets/目录下所有.md文件,统计总数并检测代码块语言标记(支持 javascript、java、csharp、c、cpp、html、xml、python、ruby、php、json、sql、bash、shell、coldfusion、perl、vbnet 等),再生成带语言图标的索引页面——这意味着仓库的导航体系是脚本驱动、可自动维护的,新增速查表后重新运行脚本即可同步索引。

2. 本地构建与离线查阅

按照 README.md 的说明,可本地构建整个速查表网站(Python 3 环境):

make install-python-requirements make generate-site make serve # Binds port 8000

也可以使用容器构建:

docker build -t cheatsheetseries . docker run --name cheatsheetseries -p 8000:8000 cheatsheetseries

构建完成后,IndexTopTen.md与各速查表将以网页形式呈现,方便团队内部作为安全知识库引用。

3. 质量保障

仓库通过 package.json 配置了 Markdown 与术语的 lint 检查(npm run lint-markdown、npm run lint-terminology),并在 markdown-link-check-config.json 与 scripts/Apply_Link_Check.sh 中维护链接检查机制,确保本文档中指向cheatsheets/的映射链接不会失效。

使用建议与边界说明

  • 映射基于 OWASP Top Ten 2021 版本:本文档的类别与风险描述均以 2021 版为准(含 A11 Next Steps 扩展条目),引用时请注明对应版本,避免与更早版本(如 2017)的类别划分混淆。
  • 一篇速查表可服务多个类别:例如 Denial of Service Cheat Sheet 同时出现在 A07 与 A11;Cross-Site Request Forgery Prevention Cheat Sheet 在 2021 版中归入 A01。按需交叉引用即可。
  • 导航索引不是防御本身:IndexTopTen.md的价值在于快速路由,真正的防御细节必须进入各速查表正文。建议安全评审时以此为检查清单,逐类别确认应用已覆盖对应的速查表所要求的防护措施。
  • 应用安全

【免费下载链接】CheatSheetSeries

The OWASP Cheat Sheet Series was created to provide a concise collection of high value information on specific application security topics.

项目地址:https://gitcode.com/gh_mirrors/ch/CheatSheetSeries
点击查看免费下载
上一篇:3 分钟把网页视频存成完整文件:猫抓免费网页资源嗅探完整指南
下一篇:3步解锁公众号数据洞察:wechat_articles_spider实战应用指南

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

返回列表