OWASP Top 10 是一份被广泛引用的清单,列出了最重要的 Web 应用程序安全风险类别,由开放全球应用程序安全项目(Open Worldwide Application Security Project)发布。大型企业用它来制定安全开发计划,但对于运营客户门户、网店或 SaaS 产品的中小企业来说,它同样有用。本指南将各个类别转化为中小企业可以向自身应用程序和供应商提出的通俗问题。
服务简介
Top 10 是一份意识提升文件,帮助团队聚焦最常见的 Web 应用风险。每个类别归纳了一组相关弱点。当前的 2025 版取代了 2021 版清单,涵盖:失效的访问控制(现在也包括服务器端请求伪造);安全配置错误;软件供应链失败;加密机制失败;注入;不安全的设计;身份验证失败;软件或数据完整性失败;日志记录与告警失败;以及对异常情况的处理不当。许多问卷和合同仍引用 2021 版,因此在设定要求时,请确认客户或合作伙伴期望采用哪个版本。对中小企业而言,其价值不在于背诵清单,而在于把它当作一份问题清单来使用:谁能看到什么、密码和会话如何处理、哪些组件已经过时,以及攻击正在进行时是否有人会察觉。
适用对象
本清单适用于:
- 运营面向客户的 Web 应用程序、门户或网店的中小企业
- 委托代理机构或自由职业者进行开发、需要提出有针对性问题的创始人和管理者
- 没有专职安全岗位的小型内部团队
- 正在准备应对引用 OWASP 的客户安全问卷的企业
帮助厘清的问题
逐一梳理各个类别,有助于厘清:
- 用户是否只能查看和修改其角色允许的数据
- 哪些第三方库、插件和框架已经过时或无人维护
- 配置、密钥和错误信息是否暴露了不应暴露的内容
- 日志记录能否让您察觉并调查可疑活动
包含内容
- 访问控制:测试用户无法通过更改 URL 或请求中的 ID 来查看或编辑其他客户的记录,并限制应用程序可被诱导调用的内部或外部地址
- 加密:确认全站使用 HTTPS 和现代 TLS,且密码使用强哈希算法存储
- 注入:检查输入是否经过验证,数据库查询是否已参数化
- 设计:记录密码重置、支付和退款等敏感流程应如何运作,包括滥用场景
- 配置错误:删除默认账户、禁用调试输出,并审查安全响应头
- 供应链:维护库、插件和构建工具的清单,按既定计划打补丁,并移除无人维护的组件
- 身份验证:为管理员提供多因素身份验证,并限制重复登录尝试
- 完整性:保护构建和部署流水线,并验证更新来自可信来源
- 日志记录与告警:记录登录、权限变更和管理操作,并确保告警能送达负责审查的人员
- 异常情况:确保错误、超时和意外输入能够安全地失败,不暴露堆栈跟踪,也不跳过安全检查
不包含内容
- 声称处理好 Top 10 就能使应用程序安全;它是迈向更全面覆盖的有用起点
- 认证或正式合规批准
- 分步骤的漏洞利用技术
- 覆盖 Web 应用程序以外的风险,例如内部网络或物理安全
适用时机
在规划新功能、引入开发供应商以及上线或重大版本发布之前,使用本清单。如果多个问题的答案都是“我们不知道”,这就表明应委托开展独立评审,而不是依赖假设。如果客户或合作伙伴要求提供与 OWASP 对齐的测试证据,有书面记录的应用安全评审或渗透测试通常比自我评估更有说服力。
我们的方法
从访问控制和身份验证入手,因为业务应用程序中的严重问题常常出现在这两处。请开发人员或供应商逐一说明每个角色在服务器端是如何强制执行的,而不仅仅是在界面中隐藏。然后清点组件并约定更新流程。确保密钥不存放在代码仓库中,错误页面不泄露堆栈跟踪。如需独立视角,我们的 Application Security Review 会针对常见应用风险(包括 OWASP 各类别)检查约定的 Web 应用程序和 API,并提供按严重程度分级的发现项及修复建议。如果您主要关注的是基于 CMS 的网站,网站加固可能是更相称的一步。无论选择哪种方式,请将清单纳入发布流程,使每次变更都对照清单加以考虑,而不是把安全当作上线前的一次性工作。
常见问题
相关文章
立即开始
希望获得对 Web 应用程序的独立评估?
请告诉我们应用程序的情况、用户角色,以及即将进行的上线或客户要求。我们将提出明确范围的评审方案。
申请书面范围说明