Skip to content

安全概览 ​

OWASP Top 10 是 Web 应用重要安全风险的清单。了解它们是安全编码的基础。

1. OWASP Top 10 (2025) ​

排名风险说明防御
A01访问控制失效越权访问、服务端请求伪造(SSRF)最小权限、服务端逐请求授权、对象级与数据级访问控制
A02安全配置错误默认密码、不必要的端口最小化配置、定期审计
A03软件供应链失效依赖、构建、分发链路被入侵或篡改SBOM、依赖扫描、供应链防护
A04加密机制失效明文存储、弱加密强加密、密钥管理
A05注入SQL/NoSQL/OS 注入参数化查询、输入校验
A06不安全设计架构层面的安全缺陷威胁建模、安全评审
A07认证失效弱密码、暴力破解MFA、限流、密码策略
A08软件或数据完整性失效未验证的软件与数据被信任签名校验、完整性验证、构建流程权限控制
A09安全日志与告警失效安全事件难以及时发现和响应日志、告警、SIEM
A10异常条件处理不当异常路径、边界条件、失败开放失败关闭、异常路径测试

2. 安全编码原则 ​

认证与会话管理见 认证,访问控制与数据权限见 授权;SQL 注入、XSS、CSRF 等攻击的原理与防御代码见 常见攻击与防御。

判断一个系统是否满足这些原则,需要识别资产与信任边界,分析威胁,选择控制,再验证控制有效性。

  1. 最小权限:每个组件只拥有必要的权限
  2. 纵深防御:多层安全措施,不依赖单一防线
  3. 默认安全:默认配置应该是安全的
  4. 输入验证:所有外部输入都不可信,校验其格式、范围与业务约束
  5. 参数化查询:永远不要拼接 SQL
  6. 敏感数据加密:传输用 TLS,存储用强加密
  7. 日志审计:记录必要的安全相关事件(身份、操作、目标资源、结果),避免记录密码、令牌等敏感凭据

Released under the MIT License.