
1. 项目概述为什么新手提交CNVD总被驳回如果你刚接触网络安全费了九牛二虎之力挖到一个自认为很严重的漏洞兴冲冲地整理报告提交到国家信息安全漏洞共享平台CNVD结果等来的却是一封“不予收录”或“信息不全”的驳回邮件那种感觉肯定很挫败。我刚开始提交时也踩过无数坑被驳回的报告攒了一抽屉。后来和平台审核的老师、圈内一些资深白帽子交流多了才慢慢摸清了门道。这根本不是技术能力的问题而是一套需要学习的“规则”和“沟通艺术”。CNVD作为国家级的漏洞信息汇集和处置枢纽它的核心目标是协调和督促相关厂商修复可能影响广泛的网络安全漏洞维护公共互联网安全。因此它的审核逻辑和你在漏洞盒子、补天这类商业众测平台上的体验完全不同。它不是比赛不是炫技更不是“交作业”。审核老师每天要面对海量提交其中大部分是无效或低质量的报告。他们的工作是在最短时间内筛选出那些真实存在、危害明确、影响范围可评估、且描述清晰便于分发的漏洞。你的报告就是与他们高效沟通的唯一工具。这篇指南就是把我这些年踩过的坑、总结的经验以及几个真实的驳回案例掰开揉碎了讲给你听。目标很明确帮你理解CNVD的“游戏规则”掌握从漏洞验证、报告撰写到成功提交的完整“正确姿势”大幅提升首次提交的成功率。我们不止讲“怎么做”更重点剖析“为什么这么做”以及“不这么做会怎样”。2. 核心原则理解CNVD的审核视角与流程在动手写报告之前我们必须先换位思考站在CNVD审核人员的角度理解他们最关心什么。这决定了你报告的所有细节。2.1 审核的核心关注点四要素缺一不可一份能被CNVD快速收录并进入处置流程的报告必须同时满足以下四个核心要素真实性Authenticity漏洞必须真实存在。这是底线。任何臆测、无法稳定复现或基于错误环境配置的“漏洞”都会被直接驳回。审核人员会尝试复现如果复现失败报告基本就结束了。危害性Impact漏洞必须能造成实际的安全影响。一个需要复杂前置条件、只能获取无关紧要信息的“漏洞”其处置优先级会非常低。CNVD更关注可导致数据泄露、权限提升、系统控制、拒绝服务等直接危害的漏洞。可验证性Verifiability你提供的证据必须能让第三方审核人员独立、快速地进行验证。模糊的描述、缺失的关键步骤、打码过度的截图都会增加验证成本导致报告被搁置或退回补充。可处置性Actionability报告必须包含足够的信息让CNVD能够定位到具体的责任厂商或产品并推动修复。一个找不到归属的“幽灵”漏洞即使再严重平台也难以处理。2.2 内部处理流程与你的报告定位简单了解下CNVD收到你报告后的内部流转能让你更清楚报告在每个阶段需要提供什么初审由值班人员快速筛查。检查格式是否规范、内容是否完整、漏洞类型是否属于平台收录范围CNVD有明确的收录范围指南。大部分因“信息不全”、“格式错误”被驳回的报告都倒在了这一关。你的报告如果在这里被卡住甚至不会进入技术审核环节。技术审核由技术人员进行复现和评估。他们会搭建环境或在线验证你描述的漏洞。此时报告步骤的清晰度、证据的充分性至关重要。如果复现失败会给出“无法复现”的结论。影响评估与定级根据验证结果结合漏洞利用难度、攻击路径复杂度、危害程度等因素参考CVSS等标准进行风险评级高、中、低。厂商分发与协调根据你提供的厂商信息CNVD会尝试联系厂商并发送漏洞通告。如果厂商信息错误或缺失这一步就无法进行。归档与发布漏洞处置修复或确认完成后会根据情况公开漏洞信息。你的报告本质上是一份技术证据链和沟通文书。它需要说服初审人员“值得看”帮助技术人员“快速验”协助分发人员“找对人”。2.3 新手最容易忽略的“潜规则”时效性不是唯一标准很多人以为只有最新的、0day漏洞才能提交。事实上CNVD也收录大量已公开但未修复的Nday漏洞特别是那些影响范围广、但厂商响应慢的。关键在于你需要证明该漏洞在目标系统上依然存在且未修复。“忽略”与“驳回”的区别对于明显无效、重复或恶意的提交平台可能直接“忽略”而不给反馈。你能收到驳回邮件说明你的报告至少进入了审核流程只是存在某些可改进的问题。这是好事沟通渠道是单向的但报告是双向的提交后你通常无法与审核人员直接沟通。因此报告必须一次性做到“自包含”和“抗质疑”预判审核人员可能产生的所有疑问并在报告中提前解答。3. 报告撰写实战从漏洞验证到报告成文现在我们进入实操环节。假设你已经发现了一个疑似SQL注入的漏洞点。3.1 漏洞深度验证超越POC发现漏洞点只是开始深度验证决定了漏洞的“价值”。稳定复现确保在任何时候、任何网络条件下按照你的步骤都能触发漏洞。记录下完整的HTTP请求包括所有Header、Cookie、Post数据。使用Burp Suite的Repeater模块多次测试是个好习惯。危害证明不要只满足于一个报错页面或一个简单的sleep(5)延时。尝试证明其实际危害SQL注入尝试获取数据库名(database())、用户名(user())、表名、数据。使用UNION SELECT查询系统表如information_schema是经典手法。注意绝对不要执行DROP TABLE,DELETE等破坏性语句你的目的是证明漏洞存在而非造成实际损害。文件上传不仅要上传webshell更要证明能解析执行。同时要测试绕过黑名单、白名单、内容检查等各种防护机制的可能性。信息泄露泄露的是普通数据还是敏感的用户个人信息、后台凭证、源代码、配置文件影响范围评估横向影响这个漏洞点是否存在于网站的其他功能模块使用爬虫工具如Burp Spider或gospider配合主动扫描寻找同类参数。纵向影响是否可以通过此漏洞点结合其他低危漏洞形成更具威胁的攻击链例如信息泄露弱口令导致后台沦陷在报告中可以提及这种可能性但主要证明当前漏洞的直接危害。证据固化对每一步操作进行截图或录屏。截图要包含浏览器地址栏、请求响应内容。关键请求和响应建议直接粘贴原始数据到报告里。使用curl或Burp的Copy as curl command功能可以生成完美的可复现命令。实操心得验证时我习惯单独创建一个文档像写实验记录一样按时间顺序记录每一个操作、每一次请求和响应、每一个猜想和验证结果。这个记录文档最后会直接成为报告草稿的核心部分确保逻辑连贯无一遗漏。3.2 报告结构与逐项精解CNVD有官方模板但模板是骨架我们需要填充血肉。以下是我根据经验优化的一个详细结构1. 漏洞标题要求清晰、准确、包含关键要素。格式建议[厂商/产品名]存在[漏洞类型]漏洞可简述危害坏例子“某网站存在漏洞”、“发现一个SQL注入”。好例子“XX市政务服务平台统一登录模块存在SQL注入漏洞可导致大量公民个人信息泄露”。为什么审核人员第一眼就看到漏洞的主体和核心问题便于分类和初步评估。2. 漏洞厂商/所属单位要求尽可能准确。如果是网站填写其主办单位可通过工信部ICP备案查询。如果是产品填写开发公司。技巧使用whois查询域名注册信息结合网站“关于我们”、“备案信息”等页面综合判断。如果实在无法确定可写“未知”但会大大降低处置性。3. 漏洞类型要求从CNVD给定的分类中选择最准确的一项。如“SQL注入”、“跨站脚本”、“权限绕过”、“信息泄露”、“命令执行”等。注意不要自己发明类型。如果感觉介于两者之间选择危害更大的那个并在描述中说明。4. 漏洞等级要求根据CVSS标准或自己的经验进行初步评估高、中、低。CNVD最终会自己定级但你给出的评估能体现你对漏洞的理解。建议保守一点。如果一个漏洞需要复杂的前置条件如已登录后台、需要特定角色即使能getshell也可能只评为“中”。将评估理由在描述中简要说明。5. 漏洞描述核心部分结构采用“总-分-总”结构。总述一两句话概括漏洞是什么、在哪里、能造成什么影响。分述技术细节漏洞位置提供完整的URL。如果是POST请求说明接口地址。触发参数明确指出是哪个参数存在漏洞如id,keyword。请求详情粘贴原始的HTTP请求数据包。这是最重要的证据包括Method, Path, Headers, Body。可以使用Burp Suite的Copy as curl command然后稍作整理如脱敏自己的Token。漏洞证明展示漏洞触发的请求和异常响应。对于SQL注入展示导致数据库报错的payload和响应对于文件上传展示上传成功和访问webshell的截图及响应对于信息泄露展示直接访问敏感文件或接口返回敏感数据的截图。利用过程如果进行了进一步利用如拖库按步骤描述并附上证据。总结再次强调漏洞的危害并可简要说明修复建议如参数过滤、使用预编译语句等。6. 漏洞证明配合描述要求将“漏洞描述”中的关键证据以图片形式清晰呈现。图片上可以添加文字箭头标注重点。技巧一张图说明一个问题。例如图1-存在漏洞的请求界面图2-携带恶意payload的请求包图3-数据库报错/命令执行成功的响应包图4-获取到的敏感数据。注意所有截图必须完整包含浏览器地址栏、请求响应内容。关键信息如获取的真实敏感数据需进行打码处理但打码不能影响对漏洞事实的判断。7. 修复方案要求给出具体、可操作的修复建议。不要写“加强过滤”、“提高安全意识”。要写SQL注入“建议对所有用户输入使用参数化查询Prepared Statements或使用ORM框架提供的方法避免直接拼接SQL字符串。”XSS“建议对输出到HTML页面的用户数据根据上下文使用HTML实体编码如转义为lt;或合适的过滤库。”文件上传“建议采用白名单机制校验文件扩展名和MIME类型将上传文件存储在Web根目录之外对图片文件进行重采样处理以破坏可能嵌入的恶意代码。”价值体现你的专业性也能帮助厂商快速定位问题根源。4. 真实驳回案例深度剖析下面我们分析几个典型的驳回案例看看问题出在哪里以及如何修改。4.1 案例一因“信息不全”被驳回驳回理由“提交的漏洞信息不完整无法进行验证。”原报告问题标题“某教育平台存在漏洞”。描述“在登录页面发现SQL注入可以爆数据库。”证明只有一张登录页面的截图和一个写着1‘ and ‘1’‘1的输入框。问题根因主体缺失“某教育平台”无法定位具体厂商。位置模糊“登录页面”是哪个具体的URL是登录接口(/login)还是找回密码接口(/reset)?证据链断裂没有提供完整的HTTP请求包。审核人员不知道是哪个参数username? password? captcha?、以何种方式GET/POST提交的。那个payload截图可能只是前端的输入框根本没有发送到服务器。危害未证明“可以爆数据库”是声称但没有提供任何爆出数据的证据如union select出数据库版本、用户名的响应截图。修改方案明确主体通过ICP备案查询将标题改为“XX省教育资源公共服务平台存在SQL注入漏洞”。精确定位在描述中写明完整漏洞URLhttps://xxx.edu.cn/api/user/login。提供完整证据提供原始的POST请求包从Burp Suite复制明确漏洞参数是loginName。POST /api/user/login HTTP/1.1 Host: xxx.edu.cn Content-Type: application/x-www-form-urlencoded ... loginNameadminpassword123456提供注入payload的请求包和数据库报错的响应包。POST /api/user/login HTTP/1.1 Host: xxx.edu.cn Content-Type: application/x-www-form-urlencoded ... loginNameadmin AND SLEEP(5)-- password123456提供利用union select获取数据库信息的请求与响应截图证明危害。结构化描述按“总-分-总”结构重写描述逻辑清晰。4.2 案例二因“无法复现”被驳回驳回理由“根据提供的信息无法复现所述漏洞。”原报告问题报告了一个后台系统的“弱口令”漏洞并给出了账号admin和密码admin123。提供了登录成功的截图。问题根因环境特异性这个弱口令可能是测试环境、本地搭建的仿站或者是一个早已被修复但测试者本地浏览器缓存了旧会话的情况。审核人员访问公网正式系统时密码已修改或账号不存在。证据时效性截图没有显示当前日期时间无法证明漏洞在提交时依然存在。缺乏旁证弱口令漏洞有时需要结合其他信息如该密码在GitHub泄露的代码中被发现来佐证其普遍性但报告未提供。修改方案确认环境提交前使用无痕浏览器模式或不同的网络环境如手机4G网络重新测试确保漏洞在公网可稳定访问。强化证据录屏代替截图展示从打开浏览器、输入网址、输入弱口令到登录成功的完整过程。在录屏中清晰展示浏览器地址栏的公网域名以及系统时间。在登录后访问几个只有登录后才能看到的功能页面如用户列表、系统设置以证明非缓存登录。补充说明如果该弱口令是默认口令或通过信息搜集获得应在描述中说明来源例如“该CMS系统官方文档显示默认管理员账号密码为admin/admin123”增加可信度。4.3 案例三因“漏洞已公开/已知”被驳回驳回理由“该漏洞为已公开漏洞。”原报告问题提交了一个针对某知名开源框架如ThinkPHP, Struts2特定版本的RCE漏洞。使用了互联网上公开的EXP工具一键利用成功。问题根因缺乏原创性CNVD旨在收录和处置新发现或未被广泛知晓的漏洞。对于已经发布CVE编号、安全公告遍地的Nday漏洞除非你能证明其在目标系统上未被修复且影响重大否则平台收录价值不高。未做修复验证没有检查目标系统使用的组件版本是否在受影响范围内也没有验证补丁是否已部署。修改方案前置调研提交前先搜索该漏洞的CVE编号、公开时间、影响版本。如果漏洞已公开超过3-6个月且目标系统是重要单位可以尝试提交但侧重点要变。转变报告重点标题强调“XX市智慧医院系统未修复已知Apache Struts2 S2-061漏洞面临远程代码执行风险”。描述侧重详细说明你是如何识别目标系统使用了存在漏洞的Struts2版本如通过错误信息、特定URL特征。提供证据证明该版本在受影响范围内。证明危害虽然利用的是公开EXP但你的报告重点应放在“证明该漏洞在此具体目标上依然可利用”以及“评估该目标的数据重要性如医疗数据”。强调紧迫性在修复方案中明确指出官方补丁链接并说明未修复的风险。这样的报告价值在于推动一个具体的重要单位去修复一个已知但被忽视的高危漏洞CNVD可能会收录并协调处置。5. 提交前终极检查清单与后续跟进报告写好了别急着点提交。按照这个清单逐项核对能避免90%的格式性问题。[ ]完整性检查标题是否清晰包含厂商和漏洞类型厂商信息是否经过核实并准确填写漏洞描述是否采用了“总-分-总”结构是否提供了完整的、原始的HTTP请求数据包关键是否对每一步操作都提供了清晰的截图或录屏证据修复建议是否具体、可操作[ ]准确性检查所有URL、参数名是否拼写正确截图中的关键信息如IP、敏感数据是否已妥善打码漏洞等级自评是否合理是否在无痕窗口/新环境复现过确保漏洞当前有效[ ]合规性检查报告内容是否仅限于证明漏洞存在未包含任何破坏性操作如删库、删文件的描述或证据是否未对目标系统进行超出验证必要范围的探测和攻击获取的敏感样本数据是否已在报告中打码提交后耐心等待即可。CNVD的处理周期从几天到几周不等取决于漏洞严重性和当前提交量。如果被驳回仔细阅读驳回理由它是指引你修改报告的最重要线索。不要灰心根据驳回理由针对性补充信息或修正问题后再次提交。每一次驳回和修改都是对你技术表达和漏洞理解能力的提升。最后保持一颗平常心。提交CNVD是白帽子履行社会责任、提升技术能力的一种方式但不是唯一方式。通过这个过程锻炼自己严谨的技术验证能力、清晰的逻辑表达能力和换位思考的沟通能力这些才是比一张收录证书更宝贵的财富。