附录 C 术语表与速查

2 阅读11分钟

这是全书的"字典"。 遇到不认识的词,回来查;想复习某个概念,回来翻。 术语按"主题"分组,最后附"易混淆概念辨析"与"缩写速查"。


C.1 漏洞类术语

术语英文 / 缩写含义
注入Injection把"数据"当成"代码"执行,导致非预期行为
SQL 注入SQL Injection (SQLi)用户输入改变 SQL 语句结构
命令注入OS Command Injection用户输入改变系统命令
跨站脚本XSS (Cross-Site Scripting)在他人浏览器执行恶意脚本
反射型 XSSReflected XSS恶意脚本"随请求返回",不存储
存储型 XSSStored XSS恶意脚本存进数据库,访问即触发
DOM 型 XSSDOM-based XSS前端 JS 处理数据不当导致
跨站请求伪造CSRF借用受害者登录态,发起"非本意"请求
点击劫持Clickjacking用透明层诱导用户点击
服务端请求伪造SSRF诱使服务器发起"攻击者指定"的请求
文件上传漏洞File Upload Vuln上传可执行文件并让其被解析
路径穿越Path Traversal用上跳符访问预期目录之外的文件
文件包含LFI / RFI包含本地 / 远程文件(常与 RCE 组合)
反序列化漏洞Insecure Deserialization反序列化不可信数据导致执行
XML 外部实体XXEXML 解析时加载外部实体
访问控制缺陷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 PollutionJS 对象原型被污染(Node 特有)
请求走私Request Smuggling前后端解析不一致,走私请求
缓存投毒Web Cache Poisoning投毒缓存,影响所有用户
CRLF 注入CRLF Injection注入回车换行,篡改响应头
开放重定向Open Redirect跳转目标可控,可用于钓鱼
拒绝服务DoS / DDoS让服务不可用

C.2 技术类术语

术语英文 / 缩写含义
同源策略SOP (Same-Origin Policy)浏览器限制"跨源"访问的核心机制
跨源资源共享CORS服务端"显式允许"跨源访问的机制
内容安全策略CSP通过响应头限制"脚本来源"等
CookieCookie浏览器存储的小段数据(常用于会话)
会话Session服务端保存的用户状态
令牌Token / JWT常代替 Session 的凭证
HttpOnlyHttpOnly让 JS 读不到 Cookie
SecureSecure只在 HTTPS 下发送 Cookie
SameSiteSameSite限制跨站发送 Cookie(防 CSRF)
HSTSStrict-Transport-Security强制浏览器只用 HTTPS
MIME 嗅探MIME Sniffing浏览器"猜"内容类型(可被利用)
X-Content-Type-Optionsnosniff关闭 MIME 嗅探
反向代理Reverse Proxy位于客户端与服务端之间的代理(如 Nginx)
CDNContent Delivery Network内容分发网络(也是"一层解析")
WAFWeb Application FirewallWeb 应用防火墙(黑名单式防护)
负载均衡Load Balancer分发请求(可能是走私的"前端")
序列化 / 反序列化Serialization / Deserialization对象 ↔ 字节流的转换
Gadget 链Gadget Chain反序列化利用时串起来的"调用链"
污点分析Taint Analysis追踪"用户输入"在代码中的流动
Source / Sink污点源 / 危险点数据入口 / 数据危险终点(第 18 章)
POCProof of Concept证明漏洞存在的"概念验证"
ExploitExploit利用漏洞的代码 / 方法
PayloadPayload实施攻击时"发送的那段数据"
ShellShell命令解释器 / 拿到服务器命令执行权限
WebShellWebShell以网页形式存在的后门
提权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系统性识别"可能被怎么攻击"
STRIDESTRIDE六类威胁的建模框架
SASTStatic App Security Testing静态代码扫描(白盒)
DASTDynamic App Security Testing动态扫描(黑盒)
SCASoftware Composition Analysis依赖 / 组件扫描
IASTInteractive AST交互式(结合插桩)
SBOMSoftware Bill of Materials软件物料清单(用了哪些组件)
基线Baseline安全配置的"标准参考"
漏洞管理Vulnerability Management发现 / 评估 / 修复 / 跟踪的闭环
补丁Patch修复漏洞的代码变更
应急响应Incident Response被攻击后的处置(止损 / 溯源 / 恢复)
取证Forensics从证据还原"发生了什么"
红队 / 蓝队 / 紫队Red/Blue/Purple Team攻击方 / 防守方 / 协同方
SOCSecurity Operations Center安全运营中心
SIEMSIEM日志聚合与告警平台
EDR / XDREDR / XDR端点检测响应 / 扩展检测响应

C.4 职业与合规类术语

术语英文 / 缩写含义
渗透测试Penetration Testing授权下的模拟攻击
红队评估Red Team Assessment更贴近真实攻击的"对抗性评估"
漏洞赏金Bug Bounty平台化、众包的漏洞奖励
SRCSecurity Response Center厂商自建的安全应急响应中心
SOWStatement of Work授权 / 工作说明书(范围来源)
范围Scope允许测试的资产边界(in/out-of-scope)
NDANon-Disclosure Agreement保密协议
复测Retest修复后再验证
误报 / 漏报False Positive / Negative报了假漏洞 / 漏了真漏洞
等保MLPS(等级保护)中国网络安全等级保护制度
GDPRGeneral Data Protection Regulation欧盟数据保护法规
ISO 27001ISO 27001信息安全管理体系标准
CVSSCommon Vulnerability Scoring System漏洞严重度评分(0-10)
CVECommon Vulnerabilities and Exposures漏洞编号
CWECommon Weakness Enumeration弱点类型编号
CAPECCommon 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)

缩写全称中文
CSRFCross-Site Request Forgery跨站请求伪造
CSPContent Security Policy内容安全策略
CVECommon Vulnerabilities and Exposures漏洞编号
CVSSCommon Vulnerability Scoring System漏洞评分
CWECommon Weakness Enumeration弱点类型
DASTDynamic Application Security Testing动态扫描
DoSDenial of Service拒绝服务
IDORInsecure Direct Object Reference不安全的直接对象引用
IASTInteractive Application Security Testing交互式扫描
JWTJSON Web TokenJSON 令牌
LFILocal File Inclusion本地文件包含
RCERemote Code Execution远程代码执行
RFIRemote File Inclusion远程文件包含
SASTStatic Application Security Testing静态扫描
SBOMSoftware Bill of Materials软件物料清单
SCASoftware Composition Analysis组件成分分析
SDLCSoftware Development Life Cycle软件开发生命周期
SOPSame-Origin Policy同源策略
SQLiSQL InjectionSQL 注入
SSRFServer-Side Request Forgery服务端请求伪造
SSTIServer-Side Template Injection服务端模板注入
WAFWeb Application FirewallWeb 应用防火墙
XSSCross-Site Scripting跨站脚本
XXEXML External EntityXML 外部实体

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 上卡住一个实验、反复琢磨的时候
□ 你在真实(授权)目标上,找到第一个漏洞的时候
□ 你写出一份让开发"看得懂、改得动"的报告的时候
□ 你把经验写成博客、工具,分享给别人的时候

—— 去吧。去"打",去"修",去"想",去"分享"。

愿你在攻防之间,见天地,见众生,最后,见自己。

📌 全书终 "我们不生产漏洞,我们只是让系统更安全的人。"