# Top Web Vulnerabilities

> 按类别组织的 100 个最关键 Web 应用漏洞的全面结构化参考。支持系统化的漏洞识别、影响评估和修复指导，覆盖 Web 安全威胁的完整范围。触发词：Web漏洞、安全漏洞、OWASP、渗透测试、漏洞评估、安全审计

- Skill: `kscz0000/top-web-vulnerabilities` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kscz0000/top-web-vulnerabilities`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kscz0000/top-web-vulnerabilities/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: kscz0000 (https://skillmd.com/u/kscz0000)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kscz0000/top-web-vulnerabilities

---


# Top 100 Web 漏洞参考

## 目的

提供按类别组织的 100 个最关键 Web 应用漏洞的全面结构化参考。支持系统化的漏洞识别、影响评估和修复指导，覆盖 Web 安全威胁的完整范围。内容按 15 个主要漏洞类别组织，符合行业标准和真实攻击模式。

## 前提条件

- 了解 Web 应用架构基础（客户端-服务器模型、HTTP 协议）
- 熟悉常见 Web 技术（HTML、JavaScript、SQL、XML、API）
- 理解认证和授权概念
- 可访问 Web 应用安全测试工具（Burp Suite、OWASP ZAP）
- 建议了解安全编码原则

## 交付物

- 包含定义、根因、影响和缓解措施的完整漏洞目录
- 按类别分组的漏洞，便于系统化评估
- 安全测试和修复的快速参考
- 漏洞评估检查表和安全策略的基础

---

## 核心工作流

### 阶段 1：注入漏洞评估

评估针对数据处理组件的注入攻击向量：

**SQL 注入 (1)**
- 定义：恶意 SQL 代码插入输入字段以操纵数据库查询
- 根因：缺乏输入验证、参数化查询使用不当
- 影响：未授权数据访问、数据操纵、数据库沦陷
- 缓解：使用参数化查询/预编译语句、输入验证、最小权限数据库账户

**跨站脚本 - XSS (2)**
- 定义：向其他用户查看的网页注入恶意脚本
- 根因：输出编码不足、缺乏输入净化
- 影响：会话劫持、凭证窃取、网站篡改
- 缓解：输出编码、内容安全策略（CSP）、输入净化

**命令注入 (5, 11)**
- 定义：通过漏洞应用执行任意系统命令
- 根因：未净化的用户输入传递给系统 shell
- 影响：完全系统沦陷、数据窃取、横向移动
- 缓解：避免 shell 执行、白名单有效命令、严格输入验证

**XML 注入 (6)、LDAP 注入 (7)、XPath 注入 (8)**
- 定义：通过恶意输入操纵 XML/LDAP/XPath 查询
- 根因：查询构建中输入处理不当
- 影响：数据泄露、认证绕过、信息泄露
- 缓解：输入验证、参数化查询、转义特殊字符

**服务端模板注入 - SSTI (13)**
- 定义：向模板引擎注入恶意代码
- 根因：用户输入直接嵌入模板表达式
- 影响：远程代码执行、服务器沦陷
- 缓解：沙箱化模板引擎、避免用户输入进入模板、严格输入验证

### 阶段 2：认证与会话安全

评估认证机制弱点：

**会话固定 (14)**
- 定义：攻击者在认证前设置受害者会话 ID
- 根因：登录后未重新生成会话 ID
- 影响：会话劫持、未授权账户访问
- 缓解：认证时重新生成会话 ID、使用安全会话管理

**暴力破解攻击 (15)**
- 定义：使用自动化工具系统性猜测密码
- 根因：缺乏账户锁定、速率限制或 CAPTCHA
- 影响：未授权访问、凭证泄露
- 缓解：账户锁定策略、速率限制、MFA、CAPTCHA

**会话劫持 (16)**
- 定义：攻击者窃取或预测有效会话令牌
- 根因：弱会话令牌生成、不安全传输
- 影响：账户接管、未授权访问
- 缓解：安全随机令牌生成、HTTPS、HttpOnly/Secure cookie 标志

**凭证填充与复用 (22)**
- 定义：使用泄露凭证访问跨服务账户
- 根因：用户复用密码、无泄露检测
- 影响：大规模账户沦陷、数据泄露
- 缓解：MFA、泄露密码检查、唯一凭证要求

**不安全的"记住我"功能 (85)**
- 定义：弱持久认证令牌实现
- 根因：可预测令牌、过期控制不足
- 影响：未授权持久访问、会话泄露
- 缓解：强令牌生成、适当过期、安全存储

**CAPTCHA 绕过 (86)**
- 定义：绕过机器人检测机制
- 根因：弱 CAPTCHA 算法、验证不当
- 影响：自动化攻击、凭证填充、垃圾信息
- 缓解：reCAPTCHA v3、分层机器人检测、速率限制

### 阶段 3：敏感数据泄露

识别数据保护缺陷：

**IDOR - 不安全的直接对象引用 (23, 42)**
- 定义：通过用户提供的引用直接访问内部对象
- 根因：对象访问缺少授权检查
- 影响：未授权数据访问、隐私泄露
- 缓解：访问控制验证、间接引用映射、授权检查

**数据泄露 (24)**
- 定义：敏感信息无意泄露
- 根因：数据保护不足、访问控制薄弱
- 影响：隐私泄露、监管处罚、声誉损害
- 缓解：DLP 方案、加密、访问控制、安全培训

**未加密数据存储 (25)**
- 定义：存储敏感数据时未加密
- 根因：未实现静态加密
- 影响：存储被攻破时数据泄露
- 缓解：全盘加密、数据库加密、安全密钥管理

**信息泄露 (33)**
- 定义：通过错误消息或响应暴露系统细节
- 根因：详细错误处理、生产环境中的调试信息
- 影响：为进一步攻击提供侦察信息、凭证泄露
- 缓解：通用错误消息、禁用调试模式、安全日志记录

### 阶段 4：安全配置错误

评估配置弱点：

**缺少安全头 (26)**
- 定义：缺少保护性 HTTP 头（CSP、X-Frame-Options、HSTS）
- 根因：服务器配置不足
- 影响：XSS 攻击、点击劫持、协议降级
- 缓解：实施 CSP、X-Content-Type-Options、X-Frame-Options、HSTS

**默认密码 (28)**
- 定义：系统/应用使用未更改的默认凭证
- 根因：未更改厂商默认值
- 影响：未授权访问、系统沦陷
- 缓解：强制更改密码、强密码策略

**目录列表 (29)**
- 定义：Web 服务器暴露目录内容
- 根因：服务器配置不当
- 影响：信息泄露、敏感文件暴露
- 缓解：禁用目录索引、使用默认索引文件

**未保护的 API 端点 (30)**
- 定义：API 缺少认证或授权
- 根因：API 路由缺少安全控制
- 影响：未授权数据访问、API 滥用
- 缓解：OAuth/API 密钥、访问控制、速率限制

**开放端口和服务 (31)**
- 定义：暴露不必要的网络服务
- 根因：未最小化攻击面
- 影响：利用漏洞服务
- 缓解：端口扫描审计、防火墙规则、服务最小化

**配置错误的 CORS (35)**
- 定义：过于宽松的跨域资源共享策略
- 根因：通配符源、CORS 配置不当
- 影响：跨站请求攻击、数据窃取
- 缓解：白名单可信源、验证 CORS 头

**未打补丁的软件 (34)**
- 定义：运行过时漏洞软件的系统
- 根因：忽视补丁管理
- 影响：利用已知漏洞
- 缓解：补丁管理计划、漏洞扫描、自动化更新

### 阶段 5：XML 相关漏洞

评估 XML 处理安全性：

**XXE - XML 外部实体注入 (37)**
- 定义：利用 XML 解析器访问文件或内部系统
- 根因：启用了外部实体处理
- 影响：文件泄露、SSRF、拒绝服务
- 缓解：禁用外部实体、使用安全 XML 解析器

**XEE - XML 实体扩展 (38)**
- 定义：过度实体扩展导致资源耗尽
- 根因：允许无限实体扩展
- 影响：拒绝服务、解析器崩溃
- 缓解：限制实体扩展、配置解析器限制

**XML 炸弹（十亿笑声攻击）(39)**
- 定义：精心构造的 XML 通过嵌套实体消耗资源
- 根因：递归实体定义
- 影响：内存耗尽、拒绝服务
- 缓解：实体扩展限制、输入大小限制

**XML 拒绝服务 (65)**
- 定义：特制 XML 导致过度处理
- 根因：复杂文档结构无限制
- 影响：CPU/内存耗尽、服务不可用
- 缓解：模式验证、大小限制、处理超时

### 阶段 6：访问控制缺陷

评估授权执行：

**授权不足 (40)**
- 定义：未能正确执行访问控制
- 根因：弱授权策略、缺少检查
- 影响：未授权访问敏感资源
- 缓解：RBAC、集中式 IAM、定期访问审查

**权限提升 (41)**
- 定义：获得超出预期权限的提升访问
- 根因：权限配置错误、系统漏洞
- 影响：完全系统沦陷、数据操纵
- 缓解：最小权限、定期补丁、权限监控

**强制浏览 (43)**
- 定义：直接操纵 URL 访问受限资源
- 根因：访问控制薄弱、URL 可预测
- 影响：未授权文件/目录访问
- 缓解：服务端访问控制、不可预测的资源路径

**缺少功能级访问控制 (44)**
- 定义：未保护的管理或特权功能
- 根因：仅在 UI 层进行授权
- 影响：未授权功能执行
- 缓解：所有功能的服务端授权、RBAC

### 阶段 7：不安全的反序列化

评估对象序列化安全性：

**通过反序列化的远程代码执行 (45)**
- 定义：通过恶意序列化对象执行任意代码
- 根因：反序列化未验证的不可信数据
- 影响：完全系统沦陷、代码执行
- 缓解：避免反序列化不可信数据、完整性检查、类型验证

**数据篡改 (46)**
- 定义：未授权修改序列化数据
- 根因：缺少完整性验证
- 影响：数据损坏、权限操纵
- 缓解：数字签名、HMAC 验证、加密

**对象注入 (47)**
- 定义：反序列化期间恶意对象实例化
- 根因：不安全的反序列化实践
- 影响：代码执行、未授权访问
- 缓解：类型限制、类白名单、安全库

### 阶段 8：API 安全评估

评估 API 特定漏洞：

**不安全的 API 端点 (48)**
- 定义：缺少适当安全控制的 API
- 根因：API 设计不良、缺少认证
- 影响：数据泄露、未授权访问
- 缓解：OAuth/JWT、HTTPS、输入验证、速率限制

**API 密钥泄露 (49)**
- 定义：泄露或暴露的 API 凭证
- 根因：硬编码密钥、不安全存储
- 影响：未授权 API 访问、滥用
- 缓解：安全密钥存储、轮换、环境变量

**缺少速率限制 (50)**
- 定义：无 API 请求频率控制
- 根因：缺少节流机制
- 影响：DoS、API 滥用、资源耗尽
- 缓解：按用户/IP 的速率限制、节流、DDoS 防护

**输入验证不足 (51)**
- 定义：API 接受未验证的用户输入
- 根因：缺少服务端验证
- 影响：注入攻击、数据损坏
- 缓解：严格验证、参数化查询、WAF

**API 滥用 (75)**
- 定义：利用 API 功能进行恶意目的
- 根因：过度信任客户端输入
- 影响：数据窃取、账户接管、服务滥用
- 缓解：强认证、行为分析、异常检测

### 阶段 9：通信安全

评估传输层保护：

**中间人攻击 (52)**
- 定义：拦截双方之间的通信
- 根因：未加密通道、网络被攻破
- 影响：数据窃取、会话劫持、冒充
- 缓解：TLS/SSL、证书固定、双向认证

**传输层安全不足 (53)**
- 定义：传输中数据的加密弱或过时
- 根因：过时协议（SSLv2/3）、弱密码套件
- 影响：流量拦截、凭证窃取
- 缓解：TLS 1.2+、强密码套件、HSTS

**不安全的 SSL/TLS 配置 (54)**
- 定义：加密配置设置不当
- 根因：弱密码套件、缺少前向保密
- 影响：流量解密、MITM 攻击
- 缓解：现代密码套件、PFS、证书验证

**不安全的通信协议 (55)**
- 定义：使用未加密协议（HTTP、Telnet、FTP）
- 根因：遗留系统、安全意识不足
- 影响：流量嗅探、凭证泄露
- 缓解：HTTPS、SSH、SFTP、VPN 隧道

### 阶段 10：客户端漏洞

评估浏览器端安全性：

**基于 DOM 的 XSS (56)**
- 定义：通过客户端 JavaScript 操纵实现 XSS
- 根因：使用用户输入的不安全 DOM 操纵
- 影响：会话窃取、凭证收集
- 缓解：安全 DOM API、CSP、输入净化

**不安全的跨域通信 (57)**
- 定义：跨域请求处理不当
- 根因：宽松的 CORS/SOP 策略
- 影响：数据泄露、CSRF 攻击
- 缓解：严格 CORS、CSRF 令牌、源验证

**浏览器缓存投毒 (58)**
- 定义：操纵缓存内容
- 根因：缓存验证薄弱
- 影响：恶意内容分发
- 缓解：Cache-Control 头、HTTPS、完整性检查

**点击劫持 (59, 71)**
- 定义：UI 欺骗攻击诱使用户点击隐藏元素
- 根因：缺少框架保护
- 影响：非预期操作、凭证窃取
- 缓解：X-Frame-Options、CSP frame-ancestors、框架破解

**HTML5 安全问题 (60)**
- 定义：HTML5 API 中的漏洞（WebSockets、Storage、Geolocation）
- 根因：API 使用不当、验证不足
- 影响：数据泄露、XSS、隐私违规
- 缓解：安全 API 使用、输入验证、沙箱化

### 阶段 11：拒绝服务评估

评估可用性威胁：

**DDoS - 分布式拒绝服务 (61)**
- 定义：多源流量压垮系统
- 根因：僵尸网络、放大攻击
- 影响：服务不可用、收入损失
- 缓解：DDoS 防护服务、速率限制、CDN

**应用层 DoS (62)**
- 定义：针对应用逻辑耗尽资源
- 根因：低效代码、资源密集操作
- 影响：应用不可用、性能下降
- 缓解：速率限制、缓存、WAF、代码优化

**资源耗尽 (63)**
- 定义：耗尽 CPU、内存、磁盘或网络资源
- 根因：资源管理低效
- 影响：系统崩溃、服务降级
- 缓解：资源配额、监控、负载均衡

**Slowloris 攻击 (64)**
- 定义：通过部分 HTTP 请求保持连接打开
- 根因：无连接超时
- 影响：Web 服务器资源耗尽
- 缓解：连接超时、请求限制、反向代理

### 阶段 12：服务端请求伪造

评估 SSRF 漏洞：

**SSRF - 服务端请求伪造 (66)**
- 定义：操纵服务器向内部资源发起请求
- 根因：未验证的用户控制 URL
- 影响：内部网络访问、数据窃取、云元数据访问
- 缓解：URL 白名单、网络分段、出站过滤

**盲 SSRF (87)**
- 定义：无直接响应可见性的 SSRF
- 根因：与 SSRF 类似，更难检测
- 影响：数据窃取、内部侦察
- 缓解：允许列表、WAF、网络限制

**基于时间的盲 SSRF (88)**
- 定义：通过响应时间推断 SSRF 成功
- 根因：处理延迟指示请求结果
- 影响：长期利用、检测规避
- 缓解：请求超时、异常检测、时间监控

### 阶段 13：其他 Web 漏洞

| # | 漏洞 | 根因 | 影响 | 缓解 |
|---|------|------|------|------|
| 67 | HTTP 参数污染 | 解析不一致 | 注入、ACL 绕过 | 严格解析、验证 |
| 68 | 不安全的重定向 | 未验证目标 | 钓鱼、恶意软件 | 白名单目标 |
| 69 | 文件包含（LFI/RFI） | 未验证路径 | 代码执行、泄露 | 白名单文件、禁用 RFI |
| 70 | 安全头绕过 | 头配置错误 | XSS、点击劫持 | 正确配置头、审计 |
| 72 | 会话超时不足 | 超时过长 | 会话劫持 | 空闲终止、超时 |
| 73 | 日志记录不足 | 基础设施缺失 | 检测空白 | SIEM、告警 |
| 74 | 业务逻辑缺陷 | 设计不安全 | 欺诈、未授权操作 | 威胁建模、测试 |

### 阶段 14：移动与 IoT 安全

| # | 漏洞 | 根因 | 影响 | 缓解 |
|---|------|------|------|------|
| 76 | 不安全的移动存储 | 明文、弱加密 | 数据窃取 | Keychain/Keystore、加密 |
| 77 | 不安全的移动传输 | HTTP、证书失败 | 流量拦截 | TLS、证书固定 |
| 78 | 不安全的移动 API | 缺少认证/验证 | 数据暴露 | OAuth/JWT、验证 |
| 79 | 应用逆向工程 | 硬编码凭证 | 凭证窃取 | 混淆、RASP |
| 80 | IoT 管理问题 | 弱认证、无 TLS | 设备接管 | 强认证、TLS |
| 81 | 弱 IoT 认证 | 默认密码 | 未授权访问 | 唯一凭证、MFA |
| 82 | IoT 漏洞 | 设计缺陷、旧固件 | 僵尸网络招募 | 更新、分段 |
| 83 | 智能家居访问 | 不安全默认值 | 隐私侵犯 | MFA、分段 |
| 84 | IoT 隐私问题 | 过度收集 | 监控 | 数据最小化 |

### 阶段 15：高级与零日威胁

| # | 漏洞 | 根因 | 影响 | 缓解 |
|---|------|------|------|------|
| 89 | MIME 嗅探 | 缺少头 | XSS、欺骗 | X-Content-Type-Options |
| 91 | CSP 绕过 | 配置薄弱 | 尽管有 CSP 仍有 XSS | 严格 CSP、nonce |
| 92 | 验证不一致 | 逻辑分散 | 控制绕过 | 集中验证 |
| 93 | 竞态条件 | 缺少同步 | 权限提升 | 适当锁定 |
| 94-95 | 业务逻辑缺陷 | 缺少验证 | 金融欺诈 | 服务端验证 |
| 96 | 账户枚举 | 响应不同 | 定向攻击 | 统一响应 |
| 98-99 | 未打补丁的漏洞 | 补丁延迟 | 零日利用 | 补丁管理 |
| 100 | 零日利用 | 未知漏洞 | 无法缓解的攻击 | 纵深防御 |

---

## 快速参考

### 漏洞类别汇总

| 类别 | 漏洞编号 | 关键控制 |
|------|----------|----------|
| 注入 | 1-13 | 参数化查询、输入验证、输出编码 |
| 认证 | 14-23, 85-86 | MFA、会话管理、账户锁定 |
| 数据泄露 | 24-27 | 静态/传输加密、访问控制、DLP |
| 配置错误 | 28-36 | 安全默认值、加固、补丁 |
| XML | 37-39, 65 | 禁用外部实体、限制扩展 |
| 访问控制 | 40-44 | RBAC、最小权限、授权检查 |
| 反序列化 | 45-47 | 避免不可信数据、完整性验证 |
| API 安全 | 48-51, 75 | OAuth、速率限制、输入验证 |
| 通信 | 52-55 | TLS 1.2+、证书验证、HTTPS |
| 客户端 | 56-60 | CSP、X-Frame-Options、安全 DOM |
| DoS | 61-65 | 速率限制、DDoS 防护、资源限制 |
| SSRF | 66, 87-88 | URL 白名单、出站过滤 |
| 移动/IoT | 76-84 | 加密、认证、安全存储 |
| 业务逻辑 | 74, 92-97 | 威胁建模、逻辑测试 |
| 零日 | 98-100 | 纵深防御、威胁情报 |

### 关键安全头

```
Content-Security-Policy: default-src 'self'; script-src 'self'
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: geolocation=(), microphone=()
```

### OWASP Top 10 映射

| OWASP 2021 | 相关漏洞 |
|------------|----------|
| A01: 访问控制缺陷 | 40-44, 23, 74 |
| A02: 加密失败 | 24-25, 53-55 |
| A03: 注入 | 1-13, 37-39 |
| A04: 不安全设计 | 74, 92-97 |
| A05: 安全配置错误 | 26-36 |
| A06: 漏洞组件 | 34, 98-100 |
| A07: 认证失败 | 14-23, 85-86 |
| A08: 数据完整性 | 45-47 |
| A09: 日志失败 | 73 |
| A10: SSRF | 66, 87-88 |

---

## 约束与限制

- 漏洞定义代表常见模式；具体实现各异
- 缓解措施必须适配技术栈和架构
- 新漏洞持续出现；参考应定期更新
- 部分漏洞跨类别重叠（如 IDOR 出现在多个上下文中）
- 缓解措施的有效性取决于正确实施
- 自动扫描器无法检测所有漏洞类型（尤其是业务逻辑）

---

## 故障排查

### 常见评估挑战

| 挑战 | 解决方案 |
|------|----------|
| 扫描误报 | 手动验证、上下文分析 |
| 业务逻辑缺陷遗漏 | 手动测试、威胁建模、滥用案例分析 |
| 加密流量分析 | 代理配置、证书安装 |
| WAF 阻止测试 | 速率调整、IP 轮换、载荷编码 |
| 会话处理问题 | Cookie 管理、认证状态跟踪 |
| API 发现 | Swagger/OpenAPI 枚举、流量分析 |

### 漏洞验证技术

| 漏洞类型 | 验证方法 |
|----------|----------|
| 注入 | 使用编码变体进行载荷测试 |
| XSS | 告警框、Cookie 访问、DOM 检查 |
| CSRF | 跨域表单提交测试 |
| SSRF | 带外 DNS/HTTP 回调 |
| XXE | 使用受控服务器的外部实体 |
| 访问控制 | 水平/垂直权限测试 |
| 认证 | 凭证轮换、会话分析 |

---

## 参考资料

- OWASP Top 10 Web 应用安全风险
- CWE/SANS Top 25 最危险软件错误
- OWASP 测试指南
- OWASP 应用安全验证标准（ASVS）
- NIST 网络安全框架
- 来源：Kumar MS - Top 100 Web Vulnerabilities

## 适用场景
本技能适用于执行概述中描述的工作流或操作。
