这是全书的"字典"。 遇到不认识的词,回来查;想复习某个概念,回来翻。 术语按"主题"分组,最后附"易混淆概念辨析"与"缩写速查"。
C.1 漏洞类术语
| 术语 | 英文 / 缩写 | 含义 |
|---|---|---|
| 注入 | Injection | 把"数据"当成"代码"执行,导致非预期行为 |
| SQL 注入 | SQL Injection (SQLi) | 用户输入改变 SQL 语句结构 |
| 命令注入 | OS Command Injection | 用户输入改变系统命令 |
| 跨站脚本 | XSS (Cross-Site Scripting) | 在他人浏览器执行恶意脚本 |
| 反射型 XSS | Reflected XSS | 恶意脚本"随请求返回",不存储 |
| 存储型 XSS | Stored XSS | 恶意脚本存进数据库,访问即触发 |
| DOM 型 XSS | DOM-based XSS | 前端 JS 处理数据不当导致 |
| 跨站请求伪造 | CSRF | 借用受害者登录态,发起"非本意"请求 |
| 点击劫持 | Clickjacking | 用透明层诱导用户点击 |
| 服务端请求伪造 | SSRF | 诱使服务器发起"攻击者指定"的请求 |
| 文件上传漏洞 | File Upload Vuln | 上传可执行文件并让其被解析 |
| 路径穿越 | Path Traversal | 用上跳符访问预期目录之外的文件 |
| 文件包含 | LFI / RFI | 包含本地 / 远程文件(常与 RCE 组合) |
| 反序列化漏洞 | Insecure Deserialization | 反序列化不可信数据导致执行 |
| XML 外部实体 | XXE | XML 解析时加载外部实体 |
| 访问控制缺陷 | Broken Access Control | 权限校验缺失 / 错误 |
| 越权 | Privilege Escalation | 访问了"本不该访问"的资源 |
| 水平越权 | Horizontal | 同级用户之间(如 A 看 B 的数据) |
| 垂直越权 | Vertical | 低权限做高权限的事(如普通用户进后台) |
| 不安全的直接对象引用 | IDOR | 用"对象 ID"直接访问,缺属主校验 |
| 业务逻辑漏洞 | Business Logic Vuln | 流程 / 规则被滥用(非技术性) |
| 竞争条件 | Race Condition | 并发导致的时序问题 |
| 认证缺陷 | Broken Authentication | 登录 / 会话机制有问题 |
| 会话固定 | Session Fixation | 攻击者"预定"会话 ID,等受害者登录 |
| 弱口令 | Weak Password | 密码强度不足 / 默认口令 |
| 信息泄露 | Information Disclosure | 不该暴露的信息被暴露 |
| 组件漏洞 | Vulnerable Component | 用了有已知漏洞的第三方组件 |
| 安全配置错误 | Security Misconfiguration | 默认口令 / 调试开启 / 缺响应头等 |
| 模板注入 | SSTI | 用户输入进入服务端模板导致执行 |
| 原型链污染 | Prototype Pollution | JS 对象原型被污染(Node 特有) |
| 请求走私 | Request Smuggling | 前后端解析不一致,走私请求 |
| 缓存投毒 | Web Cache Poisoning | 投毒缓存,影响所有用户 |
| CRLF 注入 | CRLF Injection | 注入回车换行,篡改响应头 |
| 开放重定向 | Open Redirect | 跳转目标可控,可用于钓鱼 |
| 拒绝服务 | DoS / DDoS | 让服务不可用 |
C.2 技术类术语
| 术语 | 英文 / 缩写 | 含义 |
|---|---|---|
| 同源策略 | SOP (Same-Origin Policy) | 浏览器限制"跨源"访问的核心机制 |
| 跨源资源共享 | CORS | 服务端"显式允许"跨源访问的机制 |
| 内容安全策略 | CSP | 通过响应头限制"脚本来源"等 |
| Cookie | Cookie | 浏览器存储的小段数据(常用于会话) |
| 会话 | Session | 服务端保存的用户状态 |
| 令牌 | Token / JWT | 常代替 Session 的凭证 |
| HttpOnly | HttpOnly | 让 JS 读不到 Cookie |
| Secure | Secure | 只在 HTTPS 下发送 Cookie |
| SameSite | SameSite | 限制跨站发送 Cookie(防 CSRF) |
| HSTS | Strict-Transport-Security | 强制浏览器只用 HTTPS |
| MIME 嗅探 | MIME Sniffing | 浏览器"猜"内容类型(可被利用) |
| X-Content-Type-Options | nosniff | 关闭 MIME 嗅探 |
| 反向代理 | Reverse Proxy | 位于客户端与服务端之间的代理(如 Nginx) |
| CDN | Content Delivery Network | 内容分发网络(也是"一层解析") |
| WAF | Web Application Firewall | Web 应用防火墙(黑名单式防护) |
| 负载均衡 | Load Balancer | 分发请求(可能是走私的"前端") |
| 序列化 / 反序列化 | Serialization / Deserialization | 对象 ↔ 字节流的转换 |
| Gadget 链 | Gadget Chain | 反序列化利用时串起来的"调用链" |
| 污点分析 | Taint Analysis | 追踪"用户输入"在代码中的流动 |
| Source / Sink | 污点源 / 危险点 | 数据入口 / 数据危险终点(第 18 章) |
| POC | Proof of Concept | 证明漏洞存在的"概念验证" |
| Exploit | Exploit | 利用漏洞的代码 / 方法 |
| Payload | Payload | 实施攻击时"发送的那段数据" |
| Shell | Shell | 命令解释器 / 拿到服务器命令执行权限 |
| WebShell | WebShell | 以网页形式存在的后门 |
| 提权 | Privilege Escalation | 从低权限到高权限 |
| 横向移动 | Lateral Movement | 攻破一台后,向内部其他机器渗透 |
| 边界 | Perimeter | 网络"信任"与"不信任"的分界 |
| 内网 / 外网 | Intranet / Internet | 组织内部 / 公开网络 |
| 蜜罐 | Honeypot | 故意设置"诱饵"检测攻击 |
| 沙箱 | Sandbox | 隔离运行不可信代码的环境 |
C.3 防御与工程类术语
| 术语 | 英文 / 缩写 | 含义 |
|---|---|---|
| 输入校验 | Input Validation | 校验外部输入(应白名单) |
| 输出编码 | Output Encoding | 按输出上下文编码(防 XSS 的根本解) |
| 参数化查询 | Parameterized Query | 让数据不参与 SQL 结构(防注入根本解) |
| 转义 | Escaping | 特殊字符的"无害化"处理 |
| 白名单 | Allowlist / Whitelist | "只允许已知好的"(更安全) |
| 黑名单 | Denylist / Blacklist | "禁止已知坏的"(易被绕) |
| 纵深防御 | Defense in Depth | 多层防护,单点失效不致命 |
| 最小权限 | Least Privilege | 只给"够用"的权限 |
| 安全左移 | Shift Left | 把安全提前到开发早期 |
| 安全开发生命周期 | SDLC (Secure) | 全流程嵌入安全 |
| 威胁建模 | Threat Modeling | 系统性识别"可能被怎么攻击" |
| STRIDE | STRIDE | 六类威胁的建模框架 |
| SAST | Static App Security Testing | 静态代码扫描(白盒) |
| DAST | Dynamic App Security Testing | 动态扫描(黑盒) |
| SCA | Software Composition Analysis | 依赖 / 组件扫描 |
| IAST | Interactive AST | 交互式(结合插桩) |
| SBOM | Software Bill of Materials | 软件物料清单(用了哪些组件) |
| 基线 | Baseline | 安全配置的"标准参考" |
| 漏洞管理 | Vulnerability Management | 发现 / 评估 / 修复 / 跟踪的闭环 |
| 补丁 | Patch | 修复漏洞的代码变更 |
| 应急响应 | Incident Response | 被攻击后的处置(止损 / 溯源 / 恢复) |
| 取证 | Forensics | 从证据还原"发生了什么" |
| 红队 / 蓝队 / 紫队 | Red/Blue/Purple Team | 攻击方 / 防守方 / 协同方 |
| SOC | Security Operations Center | 安全运营中心 |
| SIEM | SIEM | 日志聚合与告警平台 |
| EDR / XDR | EDR / XDR | 端点检测响应 / 扩展检测响应 |
C.4 职业与合规类术语
| 术语 | 英文 / 缩写 | 含义 |
|---|---|---|
| 渗透测试 | Penetration Testing | 授权下的模拟攻击 |
| 红队评估 | Red Team Assessment | 更贴近真实攻击的"对抗性评估" |
| 漏洞赏金 | Bug Bounty | 平台化、众包的漏洞奖励 |
| SRC | Security Response Center | 厂商自建的安全应急响应中心 |
| SOW | Statement of Work | 授权 / 工作说明书(范围来源) |
| 范围 | Scope | 允许测试的资产边界(in/out-of-scope) |
| NDA | Non-Disclosure Agreement | 保密协议 |
| 复测 | Retest | 修复后再验证 |
| 误报 / 漏报 | False Positive / Negative | 报了假漏洞 / 漏了真漏洞 |
| 等保 | MLPS(等级保护) | 中国网络安全等级保护制度 |
| GDPR | General Data Protection Regulation | 欧盟数据保护法规 |
| ISO 27001 | ISO 27001 | 信息安全管理体系标准 |
| CVSS | Common Vulnerability Scoring System | 漏洞严重度评分(0-10) |
| CVE | Common Vulnerabilities and Exposures | 漏洞编号 |
| CWE | Common Weakness Enumeration | 弱点类型编号 |
| CAPEC | Common Attack Pattern Enumeration | 攻击模式编号 |
C.5 易混淆概念辨析
这些概念经常被混为一谈,但差别很重要。
C.5.1 认证 vs 授权
认证(Authentication)= "你是谁?" → 登录(验证身份)
授权(Authorization) = "你能做什么?" → 权限(决定能访问什么)
★ 登录了 ≠ 有权访问某个资源
这就是"越权漏洞"的根源(第 13 章)
C.5.2 水平越权 vs 垂直越权
水平越权:同级别用户之间
例:A 用户看到 B 用户的订单
垂直越权:低权限 → 高权限
例:普通用户访问"管理员"功能
C.5.3 反射型 vs 存储型 vs DOM 型 XSS
反射型:payload 在"响应"里,需诱导点击,不持久
存储型:payload 存进"数据库",访问即触发,危害大
DOM 型:漏洞在"前端 JS"里,服务端可能"看不到"payload
C.5.4 编码 vs 加密 vs 哈希
编码(Encoding):可逆,目的是"传输 / 存储"(如 Base64、URL 编码)
加密(Encryption):可逆(有密钥),目的是"保密"
哈希(Hashing):不可逆,目的是"校验 / 存储密码"(如 bcrypt)
★ 常见错误:
□ 把密码"Base64 编码"当"加密"(Base64 可逆,等于没保护)
□ 用 MD5/SHA1 存密码(应加盐 + 用 bcrypt/argon2)
C.5.5 黑名单 vs 白名单
黑名单:"禁止已知的坏东西" → 攻击面无限,必被绕(第 20 章)
白名单:"只允许已知的好东西" → 攻击面有限,天然安全
C.5.6 根本解 vs 创可贴
根本解:参数化 / 输出编码 / 白名单 / 服务端校验属主 / 隔离
创可贴:黑名单 / 过滤 / 前端校验 / WAF
★ 本书反复强调:会用"根本解"的人,才真正懂安全
C.5.7 SAST vs DAST vs SCA
SAST:看"源码"(白盒,找代码里的问题)
DAST:看"运行时"(黑盒,发请求找问题)
SCA:看"依赖"(找第三方组件的已知漏洞)
C.5.8 漏洞 vs 弱点 vs 攻击模式
CVE:一个"具体的漏洞实例"
CWE:一类"弱点类型"(如 CWE-79 = XSS)
CAPEC:一种"攻击模式"
★ 一个 CVE 通常对应某个 CWE(如 Log4Shell → CWE-502 反序列化 / CWE-917 表达式注入)
C.6 缩写速查(A-Z)
| 缩写 | 全称 | 中文 |
|---|---|---|
| CSRF | Cross-Site Request Forgery | 跨站请求伪造 |
| CSP | Content Security Policy | 内容安全策略 |
| CVE | Common Vulnerabilities and Exposures | 漏洞编号 |
| CVSS | Common Vulnerability Scoring System | 漏洞评分 |
| CWE | Common Weakness Enumeration | 弱点类型 |
| DAST | Dynamic Application Security Testing | 动态扫描 |
| DoS | Denial of Service | 拒绝服务 |
| IDOR | Insecure Direct Object Reference | 不安全的直接对象引用 |
| IAST | Interactive Application Security Testing | 交互式扫描 |
| JWT | JSON Web Token | JSON 令牌 |
| LFI | Local File Inclusion | 本地文件包含 |
| RCE | Remote Code Execution | 远程代码执行 |
| RFI | Remote File Inclusion | 远程文件包含 |
| SAST | Static Application Security Testing | 静态扫描 |
| SBOM | Software Bill of Materials | 软件物料清单 |
| SCA | Software Composition Analysis | 组件成分分析 |
| SDLC | Software Development Life Cycle | 软件开发生命周期 |
| SOP | Same-Origin Policy | 同源策略 |
| SQLi | SQL Injection | SQL 注入 |
| SSRF | Server-Side Request Forgery | 服务端请求伪造 |
| SSTI | Server-Side Template Injection | 服务端模板注入 |
| WAF | Web Application Firewall | Web 应用防火墙 |
| XSS | Cross-Site Scripting | 跨站脚本 |
| XXE | XML External Entity | XML 外部实体 |
C.7 全书章节索引
想复习某个主题,按这张表快速定位。
| 主题 | 章节 |
|---|---|
| 安全思维 / 心法 | 第 1 章 |
| Web 工作原理 | 第 2 章 |
| HTTP 协议 | 第 3 章 |
| 浏览器安全模型 | 第 4 章 |
| 靶场搭建 | 第 5 章 |
| 工具链 | 第 6 章 |
| 注入(SQL/命令/模板等) | 第 7 章 |
| XSS | 第 8 章 |
| CSRF / 点击劫持 | 第 9 章 |
| SSRF | 第 10 章 |
| 文件上传 / 路径穿越 | 第 11 章 |
| 认证与会话 | 第 12 章 |
| 访问控制 / 越权 | 第 13 章 |
| 反序列化 | 第 14 章 |
| XXE | 第 15 章 |
| 业务逻辑漏洞 | 第 16 章 |
| 组件与配置问题 | 第 17 章 |
| 代码审计 | 第 18 章 |
| 自动化与漏洞挖掘 | 第 19 章 |
| 绕过大全 | 第 20 章 |
| 请求走私 / 协议层 | 第 21 章 |
| 渗透测试流程 | 第 22 章 |
| 找到第一个漏洞 | 第 23 章 |
| 安全开发实践 | 第 24 章 |
| 职业路径与成长 | 第 25 章 |
| 命令 / Payload 速查 | 附录 A |
| 靶场与学习资源 | 附录 B |
| 术语表与速查 | 附录 C |
C.8 核心概念一句话回顾
如果只能记住 10 句话,就记这 10 句:
① 安全的核心是"信任边界":边界上要校验、要隔离、要编码。
② 每一个漏洞 = 某个边界上,某个"应该被校验 / 隔离 / 编码"
的地方,没有被校验 / 隔离 / 编码。
③ 漏洞的本质:数据被当成了代码。
④ 防御的本质:让数据永远是数据
(参数化 / 输出编码 / 白名单 / 用参数而非拼接)。
⑤ 根本解 vs 创可贴:参数化 > 转义;输出编码 > 过滤;
白名单 > 黑名单;服务端校验 > 前端校验;隔离 > 拦截。
⑥ 输入校验防不住 XSS,输出编码才能(按上下文)。
⑦ 登录 ≠ 有权:认证解决"你是谁",授权解决"你能做什么"。
⑧ 绕过的本质:防护"看到的" ≠ 实际"执行的"(解析差异)。
⑨ 真实世界的漏洞,藏在"业务逻辑"和"访问控制"里最多。
⑩ 能"稳定复现 + 证明危害"的,才叫漏洞;
能"说清 + 让人修好"的,才叫专业。
尾声
到这里,整本书就真的结束了。
从第 1 章的"安全思维",到第 25 章的"职业成长", 再到这三份附录——我们把"成为一个 Web 安全工程师"所需要的东西, 尽可能地都放进来了。
但请记住:书只能把你带到"门口"。
真正的成长,发生在:
□ 你打开 DVWA,把每一关都亲手打一遍的时候
□ 你在 Academy 上卡住一个实验、反复琢磨的时候
□ 你在真实(授权)目标上,找到第一个漏洞的时候
□ 你写出一份让开发"看得懂、改得动"的报告的时候
□ 你把经验写成博客、工具,分享给别人的时候
—— 去吧。去"打",去"修",去"想",去"分享"。
愿你在攻防之间,见天地,见众生,最后,见自己。
📌 全书终 "我们不生产漏洞,我们只是让系统更安全的人。"