逼格or随性?看我是如何混一波CVE编号!
字数 1487 2025-08-18 11:37:19

CVE漏洞挖掘实战指南

1. CVE简介

CVE (Common Vulnerabilities & Exposures)是公共漏洞和暴露的标准化命名系统,它为已确认的信息安全漏洞提供唯一的标识符。CVE的主要作用包括:

  • 为漏洞提供统一的命名规范
  • 便于在不同安全工具和数据库间共享漏洞信息
  • 作为安全信息共享的"关键字"

2. 获取CVE编号的途径

2.1 通过CNA厂商提交

CNA (CVE Numbering Authority)是获得授权分配CVE编号的组织,包括:

  • 知名软件厂商(如Microsoft、Adobe等)
  • 研究机构
  • 漏洞赏金平台

特点

  • 漏洞质量要求较高
  • 挖掘难度大
  • 但获得的CVE编号更有价值

2.2 通过MITRE直接提交

对于不在CNA列表中的项目发现的漏洞,可以直接向MITRE提交:

优势

  • 目标选择范围更广
  • 漏洞质量要求相对较低
  • 适合初学者获取第一个CVE编号

3. 目标选择策略

3.1 目标来源

推荐在GitHub上搜索开源CMS项目:

  • 使用"CMS"关键词搜索(约7万+结果)
  • 选择活跃但不太知名的项目

3.2 编程语言选择

语言 优点 缺点
PHP 环境搭建快速(PHPStudy 5分钟) 漏洞竞争可能激烈
Java 熟悉语言可提高效率 环境搭建复杂(IDE, JDK, Web服务器)
其他(C#, Python等) 根据个人专长选择 可能需要特定环境

建议:初学者优先选择PHP项目

4. 漏洞类型选择

4.1 推荐漏洞类型:CSRF

选择原因

  1. 开发者重视程度低(已退出OWASP TOP10)
  2. 防护实现容易出错
  3. 相比SQL注入/XSS更容易发现

4.2 其他漏洞类型分析

  • SQL注入:开源项目通常已做防护(预编译/参数化查询)
  • XSS:通常有基本防护(实体编码/正则替换),需要构造复杂payload绕过

5. 实战挖掘流程

5.1 环境准备

  1. 下载目标CMS(建议科学上网加速)
  2. 使用PHPStudy等集成环境快速搭建
  3. 访问后台(前端功能有限,重点在增删改操作)

5.2 漏洞定位

  1. 寻找敏感功能点(如用户管理)
  2. 检查防护措施:
    • 查看源码搜索"token"字段
    • 测试是否真正验证token

5.3 常见token绕过方法

  1. 存在XSS时:使用Ajax跨域获取DOM中的token
  2. Token固定:根据用户ID单向hash生成,可预测
  3. 假防护:有token字段但服务器不验证

6. 漏洞提交流程

6.1 准备材料

  1. 漏洞详细说明(英文)
    • 发布在个人博客或项目issues中
  2. 准备以下信息:
    • 漏洞类型
    • 受影响产品及版本
    • 厂商确认状态
    • 攻击类型和影响
    • 复现步骤

6.2 提交地址

  • MITRE提交页面:https://cveform.mitre.org/

6.3 提交技巧

  1. 使用Chrome浏览器(自带翻译功能)
  2. 配合有道等翻译工具准备英文材料
  3. 一次提交多个漏洞可提高效率

7. 后续跟进

  1. 提交后会自动收到确认邮件
  2. 通常1天左右会收到含CVE编号的回复
  3. 若一天内提交多个漏洞,可能不会每份都自动回复

8. 进阶建议

  1. 长期发展应转向CNA列表中的大厂漏洞
  2. 简历提升或初次尝试可从小型开源项目入手
  3. 持续学习更复杂的漏洞类型和技术

9. 注意事项

  1. 敏感漏洞细节不要公开披露
  2. 遵守负责任的漏洞披露原则
  3. 确保测试行为合法合规

通过以上系统化的方法,即使是初学者也能有效挖掘并获得CVE编号,为职业发展或技术探索提供有力支持。

CVE漏洞挖掘实战指南 1. CVE简介 CVE (Common Vulnerabilities & Exposures)是公共漏洞和暴露的标准化命名系统,它为已确认的信息安全漏洞提供唯一的标识符。CVE的主要作用包括: 为漏洞提供统一的命名规范 便于在不同安全工具和数据库间共享漏洞信息 作为安全信息共享的"关键字" 2. 获取CVE编号的途径 2.1 通过CNA厂商提交 CNA (CVE Numbering Authority)是获得授权分配CVE编号的组织,包括: 知名软件厂商(如Microsoft、Adobe等) 研究机构 漏洞赏金平台 特点 : 漏洞质量要求较高 挖掘难度大 但获得的CVE编号更有价值 2.2 通过MITRE直接提交 对于不在CNA列表中的项目发现的漏洞,可以直接向MITRE提交: 优势 : 目标选择范围更广 漏洞质量要求相对较低 适合初学者获取第一个CVE编号 3. 目标选择策略 3.1 目标来源 推荐在GitHub上搜索开源CMS项目: 使用"CMS"关键词搜索(约7万+结果) 选择活跃但不太知名的项目 3.2 编程语言选择 | 语言 | 优点 | 缺点 | |------|------|------| | PHP | 环境搭建快速(PHPStudy 5分钟) | 漏洞竞争可能激烈 | | Java | 熟悉语言可提高效率 | 环境搭建复杂(IDE, JDK, Web服务器) | | 其他(C#, Python等) | 根据个人专长选择 | 可能需要特定环境 | 建议 :初学者优先选择PHP项目 4. 漏洞类型选择 4.1 推荐漏洞类型:CSRF 选择原因 : 开发者重视程度低(已退出OWASP TOP10) 防护实现容易出错 相比SQL注入/XSS更容易发现 4.2 其他漏洞类型分析 SQL注入 :开源项目通常已做防护(预编译/参数化查询) XSS :通常有基本防护(实体编码/正则替换),需要构造复杂payload绕过 5. 实战挖掘流程 5.1 环境准备 下载目标CMS(建议科学上网加速) 使用PHPStudy等集成环境快速搭建 访问后台(前端功能有限,重点在增删改操作) 5.2 漏洞定位 寻找敏感功能点(如用户管理) 检查防护措施: 查看源码搜索"token"字段 测试是否真正验证token 5.3 常见token绕过方法 存在XSS时:使用Ajax跨域获取DOM中的token Token固定:根据用户ID单向hash生成,可预测 假防护:有token字段但服务器不验证 6. 漏洞提交流程 6.1 准备材料 漏洞详细说明(英文) 发布在个人博客或项目issues中 准备以下信息: 漏洞类型 受影响产品及版本 厂商确认状态 攻击类型和影响 复现步骤 6.2 提交地址 MITRE提交页面:https://cveform.mitre.org/ 6.3 提交技巧 使用Chrome浏览器(自带翻译功能) 配合有道等翻译工具准备英文材料 一次提交多个漏洞可提高效率 7. 后续跟进 提交后会自动收到确认邮件 通常1天左右会收到含CVE编号的回复 若一天内提交多个漏洞,可能不会每份都自动回复 8. 进阶建议 长期发展应转向CNA列表中的大厂漏洞 简历提升或初次尝试可从小型开源项目入手 持续学习更复杂的漏洞类型和技术 9. 注意事项 敏感漏洞细节不要公开披露 遵守负责任的漏洞披露原则 确保测试行为合法合规 通过以上系统化的方法,即使是初学者也能有效挖掘并获得CVE编号,为职业发展或技术探索提供有力支持。