CalcGuide · 技术博客主页 / 一页纸学习计划
🟠

Web 安全:从 OWASP Top 10 到漏洞响应

分类:安全与可靠性 · 路径:docs/topics/web-security/README.md

#security#owasp#xss#csrf#dependency

用 4~8 周从 OWASP Top 10 到能修复常见漏洞、写安全测试、建立依赖扫描与漏洞响应流程

父主题

顶层主题

子主题(5)

Web 安全:从 OWASP Top 10 到漏洞响应

0. 元信息

1. 学习路线

OWASP Top 10 与威胁建模
  → 注入类(SQL/XSS/NoSQL/命令/LDAP/XXE)
  → 认证与会话(密码、Session、JWT、OAuth 2.0、PKCE、MFA)
  → 访问控制(垂直/水平越权、IDOR、CORS、CSRF)
  → 敏感数据保护(KMS、密钥管理、字段级加密、日志脱敏)
  → 安全配置(CSP、HSTS、cookie Secure/SameSite、Referrer-Policy、X-Frame-Options)
  → 依赖与供应链(SBOM、npm audit、pip-audit、Cargo audit、签名验证)
  → 可观测与响应(WAF、IDS、日志告警、IR 流程、CVE 跟踪)
  → 威胁建模与红蓝对抗(STRIDE、攻击面分析、漏洞奖励计划)

按”识别 → 修复 → 防御 → 响应”的顺序学。每一步都要落到代码、配置或流程上,不停在概念。

2. 阶段周数分配

阶段4 周方案6 周方案8 周方案备注
1. OWASP 与威胁建模0.50.51Top 10 概览 + STRIDE 入门
2. 注入类11.52SQL/XSS/命令/NoSQL/LDAP/XXE
3. 认证与会话0.7511.5密码、Session、JWT、OAuth、PKCE、MFA
4. 访问控制0.511垂直/水平、IDOR、CSRF、CORS
5. 敏感数据保护0.250.50.5KMS、密钥、字段级加密、日志脱敏
6. 安全配置0.250.50.5CSP、HSTS、cookie、Referrer、X-Frame
7. 依赖与供应链0.250.50.5SBOM、audit、签名、容器扫描
8. 可观测与响应0.250.250.5WAF、IDS、日志、IR、CVE 跟踪
9. 综合项目0.250.250.5完整安全评估 + 流水线

4 周方案要求每天 12 小时投入;6 周方案是常用节奏;8 周方案适合每天 1.5 小时。每周留 1 天做”修一个漏洞 + 写复盘”。

3. 九阶段表

阶段核心知识实践产出可观察学会标准
1. OWASP Top 10 与威胁建模2021 版十大类、STRIDE、攻击面一份对示例应用的 Top 10 自评表能说出每类的触发条件、影响和最小修复
2. 注入类SQL 注入、XSS(反射/存储/DOM)、命令注入、NoSQL、LDAP、XXE对故意留漏洞 demo 的 6 类注入修复 + 测试用参数化查询、上下文编码、DOMPurify 等阻断攻击
3. 认证与会话密码哈希(Argon2/bcrypt)、Session 固定、JWT 风险、OAuth 2.0 + PKCE、MFA改造 demo 的登录与会话能解释 JWT 何时不能撤销;能写出 PKCE 流程
4. 访问控制垂直/水平越权、IDOR、CORS、CSRF token、SameSite对象级授权矩阵 + CSRF 防护每个对象访问都经过同一授权函数;CORS 不当 *
5. 敏感数据保护KMS/HSM、密钥轮换、字段级加密、TLS、密码字段、日志脱敏一份密钥管理 SOP + 日志脱敏过滤器不在日志中写 token、密码、完整 PII
6. 安全配置CSP(nonce、hash)、HSTS、cookie Secure/HttpOnly/SameSite、Referrer-Policy、X-Frame-Options、Permissions-Policy一份响应头基线 + 测试用例能用 securityheaders.com 验证 A/A+
7. 依赖与供应链SBOM(SPDX/CycloneDX)、npm audit、pip-audit、Cargo audit、Snyk、Trivy、签名验证(sigstore/cosign)SBOM 文件 + CI 扫描脚本引入新依赖必查 CVE;锁定文件进 git
8. 可观测与响应WAF 规则、IDS、SIEM、日志告警、IR playbook、CVE feed(NVD/GHSA)一份 IR playbook(按 OWASP IRT 模板)能在 30 分钟内定位漏洞组件 + 影响范围
9. 综合项目端到端:评估 → 修复 → 测试 → 监控漏洞评估报告 + 修复 PR + 流水线第三方能复现每条修复与对应测试

关键陷阱:OWASP 是分类法不是清单;CVE 跟踪不止 npm;CSP 不能挡住所有 XSS;SameSite=Lax 不能取代 CSRF token;JWT 不是 session 的直接替代。

4. 第一周任务

Day 1 约定:本计划以 Node/Express + 故意留漏洞 demo(如 OWASP Juice Shop 或自建 vuln-app/)为实验对象。语言可换 Python/Go/Java,但 OWASP Top 10 与对应修复模式通用。统一使用 Node 22+、npm audit、ESLint + eslint-plugin-security、Jest + supertest 写安全测试。

任务当天交付
Day 1跑起一个故意留漏洞 demo(推荐 OWASP Juice Shop 或 OWASP/crAPI),浏览每一类漏洞环境清单、demo 地址、运行命令
Day 2用浏览器 devtools + Burp Suite Community 拦截一次反射型 XSS 请求;标出触发点截图 + 拦截日志
Day 3跑一次 SQL 注入:' OR '1'='1;用参数化查询修复;写一个 Jest 测试覆盖修复前后代码对比 + 测试通过截图
Day 4用 OWASP ZAP 或 njsscan 自动扫一遍 demo,导出报告报告 HTML/PDF + Top 10 命中项
Day 5npm audit --omit=devpip-audit(如适用),记录高危 CVE 列表一份漏洞清单(组件、版本、CVE、修复版本)
Day 6在 demo 中加 CSP default-src 'self'、HSTS、cookie Secure/HttpOnly/SameSite=Strict;用 securityheaders.com 复测响应头截图 + 评分
Day 7项目:在 demo 中至少修复 3 类漏洞(A01/A03/A07 各一),提交 PR,附测试一份 PR 描述(含 OWASP 编号、复现、修复、验证)

Day 7 拆解

步骤 A —— 最小可用(90 分钟)

  1. 选 A01(Broken Access Control)、A03(Injection)、A07(Identification and Authentication Failures)三类各 1 个漏洞;
  2. 每个漏洞:写一个失败的复现测试(expect(res.status).toBe(401))→ 改代码 → 让测试通过;
  3. 提交 3 个独立 commit,commit 信息含 [OWASP-A01] 等标签。

步骤 B —— 补齐边界(45 分钟)

进阶检查(非首次门槛):把整套 demo 推到 GitHub Actions,用 ZAP Baseline 跑一次完整扫描并把报告作为 PR artifact。

5. 阶段通用验收

  1. 不看答案独立画出 OWASP Top 10 分类表,每类至少 1 个真实漏洞案例;
  2. 用自己的话解释”为什么这条修复有效,绕过的可能性是什么”;
  3. 写一个失败的复现测试,再让修复让它通过——每个修复都对应至少 1 个测试;
  4. 测试正常、超长、特殊字符、空值、Unicode、并发共 6 类输入;
  5. 至少准备 3 组自定义 payload 并贴出实际响应;
  6. 记录漏洞的 CWE/CVE 编号、严重度评分(CVSS)与影响范围;
  7. 能修改已有应用加防护,而不是只能照抄 demo 的修复。

6. 最终验收

7. 综合项目

首选:对一个故意留漏洞的 Node/Express demo 做完整安全评估:OWASP Top 10 全项审查 + 修复 + 自动化测试覆盖。

必做要求:

  1. 目标:明确 demo(如 Juice Shop 或自建 vuln-app/);
  2. 基线扫描:用 OWASP ZAP Baseline + npm audit + eslint-plugin-security 各跑一次,导出报告;
  3. OWASP Top 10 全项审查:每类至少 1 个具体漏洞,给出位置、payload、影响;
  4. 修复:每个漏洞提交独立 commit,含测试;
  5. 回归:所有原安全测试仍通过,且性能回归 ≤10%;
  6. 响应头:CSP、HSTS、cookie Secure/HttpOnly/SameSite、Referrer-Policy、X-Frame-Options 全部到位;
  7. CI:把 npm audit --audit-level=higheslint-plugin-security、ZAP Baseline 接进 GitHub Actions;
  8. 文档:README 含漏洞分类、修复列表、已知限制、复盘记录。

备选:建立公司内部 SBOM + 依赖扫描 + WAF 告警的纵深防御流水线。覆盖:

任何项目都必须包含:

  1. 需求与威胁模型;
  2. 漏洞分类与严重度排序;
  3. 模块化修复与对应测试;
  4. CI/CD 中的安全门禁;
  5. 边界与异常测试;
  6. 文档与 README;
  7. 复盘(漏洞复盘 / IR 复盘允许);
  8. 已知限制与后续工作。

8. 推荐开源资料

阶段角色资料链接用法
1OWASP 主线OWASP Top 10 2021https://owasp.org/Top10/主分类与定义
1OWASP 标准OWASP ASVS 4.0.3https://owasp.org/www-project-application-security-verification-standard/验收清单
1漏洞案例OWASP Web Security Testing Guide (WSTG)https://owasp.org/www-project-web-security-testing-guide/测试方法
2漏洞训练PortSwigger Web Security Academyhttps://portswigger.net/web-security互动实验,覆盖 XSS/SQL/CSRF
2漏洞训练OWASP Juice Shophttps://github.com/juice-shop/juice-shop故意留漏洞 demo
2注入参考OWASP Cheat Sheet Serieshttps://cheatsheetseries.owasp.org/SQL/XSS/XXE/Command 防注入
3认证OWASP Authentication Cheat Sheethttps://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html密码、会话、MFA
3协议RFC 6749 OAuth 2.0 / RFC 7636 PKCEhttps://www.rfc-editor.org/鉴权协议
4防御OWASP CSRF Prevention Cheat Sheethttps://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.htmlCSRF token + SameSite
5防御OWASP Cryptographic Storage Cheat Sheethttps://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html字段级加密
6防御OWASP Secure Headers Projecthttps://owasp.org/www-project-secure-headers/CSP/HSTS/cookie 基线
6配置Mozilla MDN Web Securityhttps://developer.mozilla.org/en-US/docs/Web/Security浏览器策略
7扫描Snyk / npm audit / pip-audit / Trivy见各项目依赖与容器扫描
8响应OWASP Incident Response Top 10https://owasp.org/IR 流程
9威胁建模OWASP Threat Modeling Cheat Sheethttps://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.htmlSTRIDE

许可证提示:Juice Shop 为 MIT;OWASP 文档为 CC BY-SA 4.0;PortSwigger Academy 免费可注册;RFC 与 NIST 文档公开。复制代码前确认目标仓库 LICENSE。

默认使用顺序:先用 OWASP Top 10 / WSTG 建立全景 → 用 Juice Shop 或 Web Security Academy 跑实验 → 读 OWASP Cheat Sheet 学修复模式 → 在自己的 demo 上写测试 → 用 ZAP / Snyk 自动扫 → 把扫描接进 CI → 写复盘。

9. 学习资料汇聚(v0.3 自包含)

本节由本计划生成。链接指向原始材料。标准与 CVE 数据库会更新,实验记录必须写明版本和日期。

9.1 背景与动机

Web 安全的根问题是:应用信任了不该信任的输入,运行在不该运行的配置上,依赖了不该依赖的组件

OWASP Top 10 是行业最被广泛接受的 Web 应用风险分类。从 2003 年起每 3~4 年更新一次,2021 版是当前主流。它不是漏洞清单,是风险类别:每类下有具体的 CWE 与 CVE 案例。OWASP 同时维护 ASVS(验收清单)、Cheat Sheet(修复模式)、WSTG(测试方法)。

历史上几个标志性事件推动了行业重视:

这些事件把”输入验证、依赖治理、响应流程”从可选项变成基础设施。

9.2 概念地图

flowchart LR
  OWASP[OWASP Top 10]
  OWASP --> A01[A01 Broken Access Control]
  OWASP --> A02[A02 Cryptographic Failures]
  OWASP --> A03[A03 Injection]
  OWASP --> A04[A04 Insecure Design]
  OWASP --> A05[A05 Security Misconfiguration]
  OWASP --> A06[A06 Vulnerable Components]
  OWASP --> A07[A07 Auth Failures]
  OWASP --> A08[A08 Software/Data Integrity]
  OWASP --> A09[A09 Logging/Monitoring]
  OWASP --> A10[A10 SSRF]
  Injection[注入类] --> SQL[SQL 注入]
  Injection --> XSS[反射/存储/DOM XSS]
  Injection --> Cmd[命令注入]
  Injection --> NoSQL[NoSQL 注入]
  Injection --> LDAP[LDAP 注入]
  Injection --> XXE[XXE]
  Auth[认证与会话] --> Pwd[密码哈希]
  Auth --> Session[Session 管理]
  Auth --> JWT[JWT]
  Auth --> OAuth[OAuth 2.0/PKCE]
  Auth --> MFA[MFA]
  AccessCtrl[访问控制] --> IDOR[IDOR]
  AccessCtrl --> CSRF[CSRF]
  AccessCtrl --> CORS[CORS]
  DataProtect[敏感数据] --> KMS[KMS/HSM]
  DataProtect --> FieldEnc[字段级加密]
  DataProtect --> LogMask[日志脱敏]
  Config[安全配置] --> CSP[CSP]
  Config --> HSTS
  Config --> Cookie[cookie Secure/SameSite]
  Config --> Referrer[Referrer-Policy]
  Supply[依赖与供应链] --> SBOM[SBOM]
  Supply --> Audit[npm/pip audit]
  Supply --> Sign[签名验证]
  Obs[可观测与响应] --> WAF
  Obs --> IDS
  Obs --> IR[IR Playbook]
  Obs --> CVEFeed[CVE feed]
  Threat[威胁建模] --> STRIDE
  Threat --> BugBounty[漏洞奖励]

关系说明:OWASP Top 10 是上层分类;注入/认证/访问控制/数据/配置是按攻击面切的子主题;依赖、响应、威胁建模横贯所有类别。SBOM 决定 A06 与 A08 的修复速度;日志告警决定 A09 的有效性。

9.3 基础知识讲解

按论文 / 书 / 博客 / 人物 / 方法五类组织。每类至少 3 条,标注”主推 / 备查”。

9.3.1 经典论文 / 标准

资料角色评分链接
OWASP Top 10 2021风险分类基线5https://owasp.org/Top10/
OWASP ASVS 4.0.3应用安全验收清单5https://owasp.org/www-project-application-security-verification-standard/
OWASP WSTG 4.2Web 安全测试方法4https://owasp.org/www-project-web-security-testing-guide/
CWE/SANS Top 25危险编程错误4https://cwe.mitre.org/top25/
NIST SP 800-53安全控制目录(合规参考)4https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final

主推:OWASP Top 10 + ASVS。备查:WSTG、CWE Top 25、NIST SP 800-53。

9.3.2 经典书籍

资料角色评分链接
Michal Zalewski, The Tangled Web浏览器安全机制全景5https://lcamtuf.coredump.cx/tangled/
Jim Manico / Matt Bagnara, Iron-Clad JavaScriptJS 应用安全4https://web.archive.org/web/2024*/manning.com/books/iron-clad-javascript
Bryan Sullivan / Vincent Liu, Web Application Security, A Beginner’s GuideWeb 安全入门4https://www.mheducation.com/highered/product/web-application-security-beginners-guide-sullivan-liu/
Andrew Hoffman, Web Application Security现代 Web 安全全景4https://www.oreilly.com/library/view/web-application-security/9781492053101/
Chris Anley / John Heasman 等, The Database Hacker’s Handbook数据库攻击面3https://www.wiley.com/en-us/The+Database+Hacker%27s+Handbook

主推:Zalewski《The Tangled Web》。备查:Manico《Iron-Clad JavaScript》、Sullivan《Web Application Security》。

9.3.3 优秀博客 / 文档

资料角色评分链接
Mozilla MDN Web Security浏览器策略与 API5https://developer.mozilla.org/en-US/docs/Web/Security
PortSwigger Web Security Academy互动漏洞实验5https://portswigger.net/web-security
OWASP Cheat Sheet Series修复模式速查5https://cheatsheetseries.owasp.org/
Troy Hunt Blog数据泄露与密码安全实践4https://www.troyhunt.com/
Scott HelmeCSP/HSTS/Subresource Integrity 实战4https://scotthelme.co.uk/
Cloudflare Security Blog大规模防御案例4https://blog.cloudflare.com/tag/security/
Google Security Blog0day 与生态防御4https://security.googleblog.com/

主推:MDN Web Security + PortSwigger Academy。备查:OWASP Cheat Sheet、Troy Hunt、Scott Helme。

9.3.4 核心人物

人物贡献关键出处
Michal Zalewski(p0)浏览器安全、AFL 模糊测试、The Tangled Weblcamtuf.coredump.cx
Jim ManicoOWASP 创始人之一、Iron-Clad JavaScriptmanico.net
Jeff WilliamsOWASP 联合创始人、ASVS 与 Top 10 推动者OWASP 历史档案
Mark CurpheyOWASP 创始人OWASP 历史档案
Troy HuntHave I Been Pwned、数据泄露研究troyhunt.com
Robert Hansen(RSnake)XSS Cheat Sheet 与 Clickjackingha.ckers.org 历史
Jeremiah GrossmanXSS、Clickjacking 研究jeremiahgrossman.com
Linus Torvalds / Greg Kroah-Hartman内核安全与供应链(CVE 流程代表)kernel.org

主推:Zalewski、Troy Hunt、Jim Manico。备查:OWASP 创始团队、RSnake、Jeremiah Grossman。

9.3.5 开发方法

方法适用关键点
Threat-first任何新功能先画 STRIDE在写代码前识别 Spoofing/Tampering/Repudiation/Information disclosure/DoS/Elevation
Trust-boundary input validation任何外部输入在边界处校验类型、长度、字符集、范围;进入系统后假设可信
Defense in depth纵深防御CSP + cookie Secure + SameSite + token rotation + WAF + 日志告警,单点失效不全盘崩塌
Single-variable PoC验证漏洞或修复每次只改一个变量,保留 payload、响应、修复前后对比
Fix + test together修复漏洞每个修复 commit 必须有对应失败测试;测试先于修复或同步提交
SBOM-driven patching依赖治理引入新依赖必看 SBOM;CI 跑 audit;高危 CVE 自动建 Issue
IR timeline漏洞响应时间线:发现 → 定级 → 隔离 → 修复 → 验证 → 复盘;每步留证据

重点标准共 6 篇/项:

  1. OWASP Top 10 2021 — 风险分类基线。所有安全实践按这个分类去覆盖。
  2. OWASP ASVS 4.0.3 — 验收清单。可用于”DoD”和合规检查。
  3. CWE Top 25 — 危险编程错误。具体漏洞落点。
  4. NIST SP 800-53 Rev 5 — 安全控制目录。合规与政策。
  5. OWASP Cheat Sheet Series — 修复模式。每类漏洞的具体代码示例。
  6. OWASP WSTG 4.2 — 测试方法。黑盒测试步骤。

补充查阅:CWE 详情、NVD CVE 数据库、GHSA(GitHub Security Advisory)、CISA KEV(已知被利用漏洞目录)。

9.4 经典问题与经典案例

#问题为什么会重要最简答案或证据
1Heartbleed(2014)OpenSSL 心跳扩展泄露私钥升级 OpenSSL;重新签发证书;撤销旧证书;更新密钥
2Log4Shell(2021)Log4j JNDI 注入 RCE,CVSS 10.0升级 Log4j ≥ 2.17.1;禁用 JNDI lookup;WAF 临时规则
3XSS via JSONP跨域读取用户数据弃用 JSONP;改用 CORS + Authorization 头;CSP default-src 'self'
4IDOR(Insecure Direct Object Reference)URL 改 ID 越权读他人数据每个对象访问走同一授权函数;以”对象属于当前用户”为前提
5SSRF(Server-Side Request Forgery)服务端代发请求打到内网出站白名单;解析后 IP 检查;禁用 169.254/127.0.0.1;IMDSv2
6CSRF 借表单自动提交登录态下被诱骗转账CSRF token + SameSite=Strict/Lax + 验证 Origin/Referer
7JWT alg: none 与密钥混淆客户端接受伪造 token强制算法白名单;服务端签名验证;密钥长度足够
8npm 包被植入恶意代码(event-stream, ua-parser-js, colors.js)供应链攻击锁定文件进 git;npm audit;最小依赖;签名/sigstore 验证
9敏感数据在日志中被打印token/密码/PII 外泄日志中间件脱敏;结构化日志字段白名单;定期 grep
10Spring4Shell(2022)Spring 框架 RCE升级 Spring;JDK ≥ 17;WAF 临时规则

9.5 学习难点

概念难点

难点为什么会卡突破路径
OWASP 是分类不是清单看 Top 10 觉得空,不知道具体怎么改每类至少跑一个真实漏洞;用 CWE 编号关联
信任边界不清内部服务相互调用也算外部输入画数据流图,标出每个边界;每个边界都校验
加密与签名的混淆加密 ≠ 身份认证写清”谁持有密钥、谁验证、提供什么性质”

思维难点

难点为什么会卡突破路径
默认信任框架与库“Express 默认配置应该没问题吧”把每个默认配置当成攻击面查一遍;OWASP Cheat Sheet 对照
修复与绕过并存加了 CSP 还有 nonce 绕过;加了 token 还有 CSRF 漏复现攻击 → 修复 → 再复现 → 修复 → 文档化
风险沟通业务只关心能不能上线用 CVSS + 影响范围 + 修复成本三件套沟通

工程难点

难点为什么会卡突破路径
旧系统漏洞太多不知从哪开始没有基线先跑 ZAP Baseline + npm audit,按 CVSS 与可利用性排序
CSP 一加就 break 前端inline script/style 满天飞用 nonce 或 hash;分阶段:default-src 'self' → 逐项放开
依赖升级引发回归API 破坏npm outdated + minor/patch 优先;锁文件 + CI 测试
日志脱敏漏字段不同模块各自打印用结构化日志框架(pino/winston)+ 字段白名单 + 集中脱敏中间件

9.6 技术标准与接口

9.6.1 Entity

名称版本发布组织状态许可证 / 可访问性
OWASP Top 102021OWASP Foundation现行;2025 更新中CC BY-SA 4.0,公开
OWASP ASVS4.0.3OWASP Foundation现行CC BY-SA 4.0,公开
OWASP Cheat Sheet Series持续更新OWASP Foundation现行CC BY-SA 4.0,公开
OWASP WSTG4.2OWASP Foundation现行CC BY-SA 4.0,公开
CWE/SANS Top 252023MITRE / SANS Institute现行公开
NIST SP 800-53Rev 5NIST现行公开
CSP Level 3W3C CRW3C Web App Sec WG现行公开
RFC 6265 — HTTP State Management Mechanism6265IETF现行公开
RFC 6265bis / RFC 6265 修订 + SameSiteRFC 6265 + RFC 6235(错误码)+ RFC 6265 修订IETF修订中公开
RFC 7636 — PKCE7636IETF现行公开
RFC 6749 — OAuth 2.06749IETF现行公开
RFC 6750 — Bearer Token Usage6750IETF现行公开
CycloneDX1.6OWASP CycloneDX WG现行Apache-2.0,公开
SPDX2.3Linux Foundation现行CC BY-3.0,公开

9.6.2 Scope

9.6.3 Structure

必会字段、接口、API:

9.6.4 Ecosystem

9.6.5 Depth Tiers

层级名称必须看到什么
L0知道存在知道 OWASP Top 10、CWE/CVE、CSP、HSTS、CSRF token、SBOM 是什么
L1看得懂示例能读懂一段含 CSP、cookie、PKCE 的代码或响应头
L2能正确调用能为新功能添加 CSP、CSRF token、依赖审计、密钥轮换
L3能解释与排错能解释 CSP 报警、XSS payload 变种、依赖 CVE 影响范围、IR 流程断点
L4能设计与扩展能设计企业级安全架构、S-SDLC、IR 团队、红蓝对抗、漏洞奖励计划

本计划目标:L3。综合项目可触及局部 L4(如设计 IR playbook 与 SBOM 流水线),但不作为硬门槛。

9.6.6 Source

引用

10. 常见误区

  1. 把「加 HTTPS」当安全终点,忽略 TLS 1.2 与弱 cipher suite、证书钉扎缺失、HTTP 头(X-Frame-Options / HSTS / CSP)未配置;
  2. 看到扫描器无 critical 就以为安全,忽略逻辑漏洞(IDOR、批量越权、参数篡改),扫描器查不出业务缺陷;
  3. 「WAF 部署 = 安全完成」,忽略 WAF 默认规则之外的 0-day、自定义业务接口、绕过技巧(编码混淆、协议走私);
  4. 误把 OAuth 当成「一切授权方案」,不知道 OAuth 2.0 是授权框架、OIDC 才是身份层,PKCE 才是公网客户端必备;
  5. 密码哈希用 SHA-256 / SHA-512 单轮,认为「够长了」——没用 salt + 工作因子,GPU 几秒就能破;
  6. JWT 存敏感数据在 payload 里,以为签名了就安全——payload 是 base64 编码明文,谁都能读;
  7. 「CSP 加了 'self' 就完事」,忽略 inline script、eval、第三方 CDN、frame-ancestorsrequire-trusted-types-for
  8. 「依赖扫描跑过一次就放心」,漏掉 transitive dependencies、不锁版本、不看 license、不验证 SBOM 与签名;
  9. CORS 配置 Access-Control-Allow-Origin: * 配合 Access-Control-Allow-Credentials: true——浏览器直接拒绝后者,但很多人误以为「开了就是安全的」;
  10. 漏洞修复后不做回归测试,patch 一个 XSS 又被另一个 payload 绕过;
  11. 「密码 8 位 + 数字」就够用——NIST SP 800-63B 早已推荐 12 位以上 + 字典检查 + 黑名单 + breach 查询;
  12. 把日志脱敏写在 client 端,攻击者绕过 client 直接调 API 就能看到原始数据;
  13. 以为「上了 IAM 就权限最小化」,却没定期清理离职账号、过宽的 trust policy、跨账号 role chaining;
  14. 安全事件发生后第一件事不是遏制而是 root cause——结果攻击者仍在网内,扩散到第三台机器;
  15. 「CSP report-only 模式」上线后忘了切 enforce——CSP 只报告但不拦截,等于没生效。

11. 所有知识点分类(统一规则)

后续新增主题时按此归类,再套用一页纸模板;一个主题可有一个主分类和一个辅助分类。

  1. 编程语言:C、Java、Python、JavaScript、Go、Rust、C++ 等
  2. 数据结构与算法:排序、查找、图、动态规划、设计方法学
  3. 计算机基础:操作系统、计算机网络、数据库、计算机组成原理
  4. 工程技术:Git、Linux、Docker、CI/CD、测试、监控
  5. Web 与后端:HTTP、REST API、Spring Boot、FastAPI、Web 框架
  6. 前端与客户端:HTML/CSS、JavaScript、React、移动端
  7. 数据与人工智能:SQL、机器学习、深度学习、大模型应用
  8. 安全与可靠性:Web 安全、系统安全、备份与恢复、混沌工程、可观测
  9. 项目与职业能力:系统设计、文档、协作、面试

本计划归属:安全与可靠性 主;Web 安全是其中面向 Web 应用的纵深防御子集,与 [[linux-hardening]] 互为补充(系统层 vs 应用层),与 [[web-security-supply-chain]] 等 5 个子主题形成完整链路。

直接依赖(2)

查看知识图谱