用途
OWASP Top 10 技能用于帮助开发者与安全人员防范最常见的 Web 安全风险。它适合在开展安全审计、实现安全控制措施,或对代码进行常见漏洞审查时使用。技能内容以 OWASP Top 10 为主线,逐项给出风险说明与缓解示例。
主要能力
技能覆盖以下十类风险,并针对每类给出代码层面的对比示例:
- 失效的访问控制(Broken Access Control):示例展示缺少授权检查的接口,以及通过登录校验与用户身份/管理员判断返回 403 的推荐做法。
- 加密失败(Cryptographic Failures):对比使用 MD5 等弱哈希与使用 argon2 的 PasswordHasher 进行强哈希。
- 注入(Injection):对比字符串拼接 SQL 与参数化查询,防止 SQL 注入。
- 不安全设计(Insecure Design):列举登录无限流、顺序/可猜测 ID、敏感操作无 CAPTCHA 等问题,建议使用 UUID、实现限流、尽早进行威胁建模。
- 安全配置错误(Security Misconfiguration):对比生产环境开启 debug 与基于环境变量的配置方式。
- 易受攻击的组件(Vulnerable Components):给出 npm audit、pip-audit 扫描以及 npm audit fix 修复命令。
- 认证失败(Authentication Failures):提供强密码校验函数示例,并给出 JWT 安全实践,包括硬编码算法、校验 exp/iat/iss/aud、短过期时间、刷新令牌轮换、令牌拒绝列表,以及防止令牌侧劫持的指纹 Cookie 方案。
- 数据完整性失败(Data Integrity Failures):示例使用 SRI(integrity 属性)加载 CDN 脚本。
- 日志记录失败(Logging Failures):示例记录成功与失败的登录安全事件。
- SSRF(服务端请求伪造):对比直接请求用户提供的 URL 与使用域名白名单校验。
此外还提供一份快速检查清单,包括:所有端点进行授权、使用 bcrypt/argon2 哈希密码、仅使用参数化查询、启用限流、生产环境关闭 debug、定期扫描依赖、记录安全事件。
使用方式
该技能以参考文档与代码示例形式提供,可在安全审计、代码审查或实现安全控制时对照查阅。示例包含 Python(Flask、argon2、jwt)、SQL、HTML 与命令行(npm audit、pip-audit)等片段,可直接参考其模式进行修改。技能还列出相关技能:auth-patterns(认证实现)、input-validation(净化模式)、security-scanning(自动化扫描)。
适用场景
- 对 Web 应用进行安全审计与漏洞排查
- 在开发中实现认证、授权、输入校验等安全控制
- 代码审查时识别常见安全缺陷
- 参考 OWASP 建议修复已知漏洞
限制
资料未提供该技能的安装方式、运行环境要求、收费信息或具体平台支持情况,暂未提供。技能内容为示例与建议,实际应用需结合具体技术栈与业务场景判断。