术语表
OWASP Top 10 是什么 — Web 应用十大安全风险的权威清单
OWASP Top 10 是把 Web 应用中最严重的安全风险归纳成十项的权威清单。本文讲解访问控制缺陷、注入、配置错误等各项到底指什么,以及在你自己的应用里应优先守护什么,并附上通往本站各篇解说的链接。
「OWASP Top 10」是谈论 Web 应用安全时的共同语言。这里把各项到底指什么,以"防御的观点"而非攻击手法来梳理,并连接到本站更详细的解说。
十大风险速查表(2021 年版)
每一项都是一个「类别」。把它套到自己的应用上,从上到下作为审视的观点使用。
| # | 风险 | 大致指什么 | 本站相关解说 |
|---|---|---|---|
| A01 | 访问控制缺陷 | 变成了「登录=允许」,缺少所有者校验 | 认证与授权的区别 / IDOR |
| A02 | 加密失败 | 机密明文存储、弱加密、TLS 不到位 | 公钥密码 / 密码哈希化 |
| A03 | 注入 | 输入劫持了查询/命令 | SQL 注入 / XSS |
| A04 | 不安全的设计 | 设计阶段没有考虑威胁 | 最低限度检查清单 |
| A05 | 安全配置错误 | 生产环境开调试、默认值、暴露多余功能 | CORS |
| A06 | 脆弱且过时的组件 | 放任依赖中的已知 CVE | 监控依赖 CVE |
| A07 | 认证缺陷 | 弱认证、无暴力破解防护、无多因素 | 双因素认证 / Passkey |
| A08 | 软件与数据完整性缺陷 | 供应链/更新路径被篡改 | 安全的历史(供应链攻击) |
| A09 | 日志与监控缺陷 | 无法检测或追踪事故 | 审计日志为何重要 |
| A10 | SSRF | 服务器被诱导向内部目标发起请求 | SSRF |
用法:它是排定优先级的起点,不是检查清单
别把『覆盖了』Top 10 当作完事
Top 10 是最具代表性的十个类别,而非足够性的保证。请把它当作排定优先级、查找遗漏的起点,同时也要一并夯实它不直接覆盖的基础——依赖 CVE 监控、机密管理、备份与检测。
先从头部(A01–A03)套到自己的应用上
先在自己的代码里审视访问控制、加密与注入——最高频的事故来源就集中在这里。
用机械化方式核查配置与依赖(A05、A06)
收紧生产环境配置(不暴露调试),并把依赖 CVE 监控做成一套机制。
在事故发生前先备好检测(A09)
没有日志和监控,就既发现不了事故也无从追踪。至少要保留基本的审计与访问日志。
本站的观点:它是把风险套到自己代码上的工具
Top 10 的价值不在于背下编号,而在于把每个类别套到自己的应用上去审视。本站为每一项风险都准备了译成「你该如何防御」的单独解说。请把 Top 10 当作入口,先从头部(访问控制、加密、注入)开始审视自己的代码。
延伸阅读
FAQ
QOWASP Top 10 是什么?
它是非营利组织 OWASP(Open Worldwide Application Security Project)每隔数年发布一次、把『Web 应用中最严重的安全风险』归纳成十个类别的清单。它不是一套攻击手法,而是开发者和运营者用来确认『至少要看哪些地方』的共同语言。最新版是 2021 年版。
QOWASP Top 10 的第一名是什么?
2021 年版以『访问控制缺陷(Broken Access Control)』居首,指的是这样一个设计漏洞:虽然登录通过了,却没有确认这个用户是否真的可以执行该操作、触碰该数据。IDOR(指定他人的 ID 就能触达他人的数据)就是这一类别的典型例子。
Q覆盖了 OWASP Top 10 就安全了吗?
不。Top 10 是『最具代表性的十个类别』,并不是一份『把这些解决就足够』的检查清单。它应当作为排定优先级、查找遗漏的起点来使用;同时也要一并夯实那些不直接出现在 Top 10 里的基础——依赖包的 CVE 监控、机密管理、备份与检测。