mcpField
T
Top 100 Web Vulnerabilities Reference

Top 100 Web Vulnerabilities Reference

github.com/davila7安全33.0k354 次安装1 天前更新
代码仓库

关于 Top 100 Web Vulnerabilities Reference

Top 100 Web Vulnerabilities Reference 是供安全从业者评估 Web 应用的结构化参考资料,按类别整理漏洞定义、成因、影响和缓解方法,支持测试与修复。

主要功能

  1. 01按类别整理漏洞参考内容
  2. 02说明漏洞成因与影响
  3. 03提供所列问题的缓解建议
  4. 04按安全领域组织评估流程

适用场景

  1. 01编制 Web 应用安全检查清单
  2. 02检查注入和身份验证风险
  3. 03评估 API 与访问控制弱点
  4. 04规划已发现漏洞的修复工作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill top-100-web-vulnerabilities-reference

安装后在 Claude Code 中输入/top-100-web-vulnerabilities-reference确认已加载。

详细介绍

Top 100 Web Vulnerabilities Reference

目的

为按类别组织的 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 炸弹(Billion Laughs)(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)

  • 定义:加密设置配置不当
  • 根本原因:密码套件强度较弱、缺少前向保密
  • 影响:流量解密、中间人攻击
  • 缓解措施:现代密码套件、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 漏洞
#漏洞根本原因影响缓解措施
67HTTP 参数污染解析不一致注入、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
80IoT 管理问题身份验证薄弱、没有 TLS设备被控制强身份验证、TLS
81IoT 身份验证薄弱默认密码未经授权的访问唯一凭据、MFA
82IoT 漏洞设计缺陷、固件过旧被纳入僵尸网络更新、网络分段
83智能家居访问不安全的默认设置隐私侵犯MFA、网络分段
84IoT 隐私问题过度收集监视数据最小化
阶段 15:高级威胁和零日威胁
#漏洞根本原因影响缓解措施
89MIME 嗅探缺少标头XSS、欺骗X-Content-Type-Options
91CSP 绕过配置薄弱CSP 下仍发生 XSS严格 CSP、nonce
92验证不一致逻辑分散绕过控制集中验证
93竞态条件缺少同步权限提升正确加锁
94-95业务逻辑缺陷缺少验证金融欺诈服务端验证
96账户枚举响应不同定向攻击统一响应
98-99未修补漏洞补丁延迟零日漏洞利用补丁管理
100零日漏洞利用未知漏洞无法缓解的攻击深度防御

快速参考

漏洞类别摘要
类别漏洞编号主要控制措施
注入1-13参数化查询、输入验证、输出编码
身份验证14-23, 85-86MFA、会话管理、账户锁定
数据暴露24-27静态和传输加密、访问控制、DLP
错误配置28-36安全默认设置、加固、打补丁
XML37-39, 65禁用外部实体、限制展开
访问控制40-44RBAC、最小权限、授权检查
反序列化45-47避免使用不可信数据、完整性验证
API 安全48-51, 75OAuth、速率限制、输入验证
通信52-55TLS 1.2+、证书验证、HTTPS
客户端56-60CSP、X-Frame-Options、安全 DOM
DoS61-65速率限制、DDoS 防护、资源限制
SSRF66, 87-88URL 白名单、出口流量过滤
移动设备/IoT76-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:SSRF66, 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

评论

支持 Markdown