📚 网络安全 Kali 学习系列
模块 0 基础阶段 ✅ 已完成
01-18 Linux系统 → 计算机网络 → 密码学 → Python/Bash/PHP/JS → Docker
模块 1 信息收集与侦察(攻击技术阶段)
✓ 19 nmap 主动扫描与信息收集
✓ 20 masscan 高速扫描与被动侦察
✓ 21 指纹识别与目录爆破
22 漏洞扫描与 Web 安全基础(当前篇)
模块 2-4 共 XX 篇,后续持续更新

漏洞扫描与 Web 安全基础

从 Nikto 到 OWASP Top 10:完成从"发现目标"到"发现漏洞"的关键一跳
读完本篇你将能:使用 Nikto 2.6.1 对 Web 服务器进行安全配置审计,理解 Nessus 10.12.4 的漏洞扫描流程,掌握 Nuclei 3.11.1 的模板化扫描方法,熟记 OWASP Top 10 2025 的十大风险类别,并能够将多种扫描工具组合成自动化侦察工作流。

难度:进阶 | 前置知识:nmap 端口扫描、指纹识别、目录爆破

📑 本文目录
01漏洞扫描概述:从信息收集到漏洞发现
02Nikto 2.6.1:Web 服务器安全审计
03Nessus 10.12.4:专业漏洞扫描平台
04Nuclei 3.11.1:模板化漏洞扫描
05OWASP Top 10 2025:十大 Web 安全风险
06实战工作流:从扫描到报告
07道德与法律边界
一、漏洞扫描概述:从信息收集到漏洞发现

前三篇文章完成了信息收集的三层递进:nmap 回答"目标开了哪些端口",masscan 回答"全网哪些 IP 存活",指纹识别和目录爆破回答"目标用了什么技术栈、有哪些隐藏路径"。但侦察的终点不是信息列表——而是漏洞。漏洞扫描器就是连接"知道目标长什么样"和"知道目标哪里薄弱"的桥梁。

1.1 漏洞扫描的三种类型

漏洞扫描不是"一个工具扫一切"。根据扫描位置和深度,分为三种截然不同的类型:

类型 扫描位置 原理 代表工具
网络漏洞扫描 外部(远程) 向目标发送构造的数据包,根据响应判断是否存在已知漏洞 Nessus、Nuclei
Web 应用扫描 外部(HTTP 层) 发送恶意 HTTP 请求,检查响应中是否有漏洞特征 Nikto、Burp Suite
主机基线扫描 内部(本地) 在目标主机上执行,检查配置文件、补丁状态、注册表 Lynis、CIS-CAT

本篇聚焦前两种——网络漏洞扫描和 Web 应用扫描。主机基线扫描属于防御方向,在后续防御模块讲解。

1.2 漏洞扫描的核心逻辑:指纹匹配

所有漏洞扫描器的核心逻辑都是同一个模式:发送探测包 → 对比响应与已知漏洞特征库 → 命中则报告漏洞。这和上一篇学过的指纹识别原理一脉相承——指纹识别对比的是"技术栈特征库",漏洞扫描对比的是"漏洞特征库"。

发送探测包
→
对比特征库
→
报告漏洞

理解了这个模式,就能明白不同工具的差异本质上是特征库和探测方式的差异:Nikto 的特征库是 Web 服务器配置缺陷规则集,Nessus 的特征库是数万条 CVE 插件,Nuclei 的特征库是社区维护的 YAML 模板。

💡 小贴士
漏洞扫描和渗透测试是不同概念。扫描器只能发现已知漏洞(特征库中收录的),无法发现逻辑漏洞、业务漏洞等需要人工推理的漏洞。OWASP Top 10 中的"越权访问"和"逻辑漏洞"几乎无法被自动化扫描器发现,必须依靠人工渗透测试。扫描是"广度优先",渗透是"深度优先"。

1.3 MITRE ATT&CK 映射

漏洞扫描在 MITRE ATT&CK 框架中映射为 T1595.002 Active Scanning - Vulnerability Scanning,属于侦察战术(TA0043)下的子技术。与 nmap 的 T1595.001(Scanning IP Blocks)和 masscan 的 T1595(Active Scanning)属同一战术族。

二、Nikto 2.6.1:Web 服务器安全审计

上一篇用 WhatWeb 识别了目标的技术栈——"这台服务器跑的是 Apache 2.4.58 + PHP 8.3"。知道了技术栈之后,下一步自然是"这些组件有没有已知漏洞?"Nikto 就是回答这个问题的工具。

Nikto 是一个用 Perl 编写的开源 Web 服务器安全扫描器,当前版本 2.6.1(2026 年 7 月 31 日发布)。它不像 Nessus 那样扫描系统级漏洞,而是专注于 Web 层面的配置缺陷:危险的 CGI 脚本、过时的软件版本、默认的备份文件、暴露的管理后台、缺失的安全头。

2.1 基本使用

Nikto 在 Kali 中已预装。最简单的用法只需一个参数——目标 URL:

Shell
# 基础扫描:指定目标 URL
nikto -h http://192.168.1.100
 
# 指定端口(非标准端口)
nikto -h http://192.168.1.100 -port 8080,8443
 
# 使用 HTTPS(跳过证书验证)
nikto -h https://192.168.1.100 -ssl

执行后 Nikto 会开始逐项检查,输出实时滚动。一次完整扫描大约 30 秒到 5 分钟(取决于目标响应速度和检测项数量)。

2.2 关键参数

Nikto 2.6.x 引入了更快的扫描引擎和改进的报告格式。以下参数在实际使用中最常用:

Shell
1
2
3
4
5
6
7
8
9
10
11
# -Tuning:调优扫描级别(1-9,数字越大越激进)
nikto -h http://192.168.1.100 -Tuning 1x8 # 启用1(上传)+8(命令执行)
 
# -Format + -output:输出报告到文件
nikto -h http://192.168.1.100 -Format json -output scan_result.json
 
# -mutate:变异测试(尝试更多路径组合)
nikto -h http://192.168.1.100 -mutate 23 # 测试目录遍历+文件名猜测
 
# -useragent:自定义 UA(绕过简单 WAF)
nikto -h http://192.168.1.100 -useragent "Mozilla/5.0 (Windows NT 10.0)"

-Tuning 参数是 Nikto 的核心调优选项。数字含义:1=上传漏洞、2=显示文件、3=信息泄露、4=Cross-Site Scripting、5=远程检索、6=DoS、7=其他、8=命令执行、9=SQL 注入。默认不启用 6(DoS)和 9(SQL 注入)——因为这两类测试可能对目标造成实际影响。加上 x 前缀表示"排除",如 x6 表示排除 DoS 测试。

2.3 真实扫描输出解读

对一台运行 Apache 2.4.58 + PHP 8.3 的靶机执行标准扫描,输出示例如下:

Nikto Output
1
2
3
4
5
6
7
8
9
10
11
12
13
- Nikto v2.6.1
+ Target IP: 192.168.1.100
+ Target Hostname: 192.168.1.100
+ Target Port: 80
+ Start Time: 2026-09-08 14:23:01
 
+ Server: Apache/2.4.58 (Debian)
+ The X-Frame-Options header is not set.
+ /admin/ - Directory found (HTTP 200)
+ /backup.zip - Backup file found (HTTP 200)
+ /phpinfo.php - PHP info page found (HTTP 200)
+ Apache mod_negotiation enabled - filename brute force possible
+ End Time: 2026-09-08 14:25:33 (139 seconds)

逐行解读这些发现:

• X-Frame-Options 未设置:目标可以被 iframe 嵌套,存在 Clickjacking 风险。攻击者可以用透明 iframe 覆盖在恶意页面上,诱骗用户点击
• /admin/ 目录可访问:管理后台暴露在公网,应限制 IP 白名单或添加认证
• /backup.zip 可下载:备份文件泄露源码和配置,这是渗透测试中最有价值的发现之一——源码泄露后可以直接做代码审计
• /phpinfo.php 暴露:PHP 信息页面泄露服务器配置(PHP 版本、模块、路径),攻击者据此选择利用方式
• mod_negotiation 启用:Apache 内容协商功能允许通过 URL 后缀猜测文件名,可做进一步枚举
⚠️ 常见错误
nikto -h example.com — 扫描不属于你的域名,即使只是"测试"也是违法行为
✓ 正确:nikto -h 192.168.1.100 — 扫描本地靶机或授权测试环境
💡 小贴士
Nikto 2.6.0 引入了新的 JSON/XML 输出格式(与旧版不兼容),如果你的自动化脚本依赖解析 Nikto 输出,升级后需要适配新的 schema。2.6.1 新增了 SQL Direct Reporting 功能——扫描结果可以直接写入数据库,无需中间转换。命令:nikto -h http://target -Format sql -output "db:host=localhost;user=scanner;password=xxx;db=scan_results"
三、Nessus 10.12.4:专业漏洞扫描平台

Nikto 专注于 Web 配置审计,但如果你需要扫描整个网络——操作系统漏洞、数据库服务漏洞、网络设备漏洞——Nessus 才是工业级工具。Nessus 当前版本 10.12.4(2026 年 8 月 19 日发布),拥有超过 33 万个漏洞检测插件,是全球企业使用最广泛的漏洞扫描器。

3.1 Nessus vs Nikto 定位对比

维度 Nikto Nessus
扫描范围 Web 服务器配置层 全栈(OS + 服务 + Web)
检测项数量 约 6,700 项 33 万+ 插件
CVE 覆盖 有限(Web 类 CVE) 全面覆盖 NVD 数据库
授权方式 完全开源免费 家庭版免费(16 IP),专业版付费
扫描速度 快(分钟级) 慢(视目标规模,10 分钟-数小时)

简单记忆:Nikto 是"Web 配置体检",Nessus 是"全身 CT 扫描"。实战中两者互补——先 Nikto 快速扫一遍 Web 层,再 Nessus 深度扫一遍系统层。

3.2 安装与初始化

Nessus 不在 Kali 默认安装中,需要从 Tenable 官网下载 Debian 安装包。家庭版(Nessus Essentials)免费,最多扫描 16 个 IP,足够学习使用。

Shell
1
2
3
4
5
6
7
8
# 1. 下载安装包(从 Tenable 官网获取 deb)
dpkg -i Nessus-10.12.4-debian10_amd64.deb
 
# 2. 启动 Nessus 服务
systemctl start nessusd
 
# 3. 浏览器访问 https://kali:8834 完成初始化
# 初始化过程需 5-15 分钟(编译插件)

初始化时选择"Nessus Essentials"(免费版),输入注册码后 Nessus 会下载并编译全部插件。这个过程不可跳过——插件编译完成后才能开始扫描。

3.3 扫描策略选择

Nessus 提供多种预置扫描策略,初学者常困惑"该选哪个"。以下是学习阶段最常用的三种:

• Basic Network Scan:基线扫描,适合首次接触目标。检查常见服务漏洞、默认密码、过期 SSL 证书。扫描速度较快,不会对目标造成影响
• Advanced Scan:深度扫描,可自定义插件集。适合对已知目标做详细审计,扫描时间长但覆盖全面
• Web Application Tests:Web 应用专项扫描,检测 OWASP Top 10 类漏洞。与 Nikto 互补——Nessus 侧重 CVE 检测,Nikto 侧重配置审计

3.4 漏洞严重等级

Nessus 使用 CVSS(通用漏洞评分系统)对漏洞分级。理解等级含义是解读报告的前提:

等级 CVSS 分数 含义 行动
Critical 9.0-10.0 远程代码执行,无需认证 立即修复
High 7.0-8.9 提权、数据泄露 优先修复
Medium 4.0-6.9 信息泄露、配置缺陷 计划修复
Low 0.1-3.9 轻微信息泄露 按需处理
💡 小贴士
Nessus 插件编号是连续递增的整数——你在扫描报告中看到的 Plugin ID 如 335455 对应一个具体的 CVE 检测规则。在 Tenable 官网搜索该 ID 可以看到漏洞详情、影响范围和修复方案。2026 年 8 月的插件编号已超过 33 万,说明漏洞库的更新速度远超任何手动学习的速度——这就是为什么自动化扫描不可替代。
四、Nuclei 3.11.1:模板化漏洞扫描

Nikto 和 Nessus 是传统漏洞扫描器的代表——特征库由官方维护,用户只能等更新。Nuclei 代表了新一代扫描器的思路:用 YAML 模板描述漏洞检测规则,任何人都能编写和分享模板。这种模式让 Nuclei 的模板库以惊人的速度增长——截至 2026 年 9 月,社区模板已覆盖超过 9000 个 CVE。

Nuclei 当前版本 3.11.1(Kali 仓库 2026 年 8 月 25 日更新),用 Go 语言编写,天然支持高并发。与 Nikto 的 Perl 实现相比,Nuclei 的扫描速度快一个数量级。

4.1 模板:漏洞的 YAML 描述

Nuclei 的核心概念是"模板"——一个 YAML 文件,描述了"发什么请求、匹配什么响应"。一个最简单的检测 XSS 的模板长这样:

xss-detect.yaml
1
2
3
4
5
6
7
8
9
10
id:
  xss-reflected-test
 
http:
  - method: GET
    path:
      - "{{BaseURL}}/search?q="
    matchers:
    - type: word
      words: ["<script>alert(1)</script>"]

这个模板的逻辑:向目标 URL 的 /search?q= 参数注入 XSS payload,如果响应体中包含未过滤的 payload 字符串,说明存在反射型 XSS。模板的 YAML 结构让检测逻辑一目了然——这是 Nuclei 能快速社区化的关键。

4.2 基本使用

Nuclei 在 Kali 中已预装。首次使用前需要更新模板库:

Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1. 更新模板库(首次必做)
nuclei -ut
 
# 2. 基础扫描:对单个目标运行全部模板
nuclei -u http://192.168.1.100
 
# 3. 只运行特定严重等级的模板
nuclei -u http://192.168.1.100 -severity critical,high
 
# 4. 只运行特定标签的模板(如 CVE)
nuclei -u http://192.168.1.100 -tags cve,tech
 
# 5. 批量扫描(从文件读取目标列表)
nuclei -l targets.txt -o results.txt

-severity 参数是最实用的过滤选项——生产环境扫描时通常只关注 critical 和 high,避免被大量 low 级别的信息噪音淹没。-tags 参数可以按漏洞分类筛选,如 cve 只跑 CVE 检测,tech 只做技术栈指纹识别。

4.3 三种扫描器定位总结

工具 语言 定位 优势
Nikto Perl Web 配置审计 轻量、开箱即用
Nessus C/NessusASL 全栈漏洞扫描 33 万插件、企业级报告
Nuclei Go 模板化漏洞扫描 高并发、社区模板、可自定义
💡 小贴士
Nuclei 模板库(nuclei-templates)每月发布 2 次版本更新,2026 年 4 月的 v10.4.2 版一次性新增了 121 个模板和 61 个 CVE 检测。模板覆盖了 CISA KEV(已知被利用漏洞)目录中的高危漏洞,以及新兴的 AI/LLM 攻击面。用 nuclei -ut 保持模板最新是扫描效果的前提——过时的模板等于过时的检测能力。
五、OWASP Top 10 2025:十大 Web 安全风险

工具会找漏洞,但你得知道"什么样的漏洞值得找"。OWASP Top 10 是 Web 应用安全风险的全球共识——由开放式 Web 应用程序安全项目(OWASP)每 3-4 年发布一次,根据真实漏洞数据统计排名。2025 版是最新的正式发布版。

理解 OWASP Top 10 的价值不在于"背下来 10 个名字",而在于建立风险分类思维——看到一个漏洞时能迅速归类"这属于哪一类风险、哪类工具能发现它、后续渗透该怎么做"。

5.1 2025 版完整列表

编号 风险类别 变化 可否自动化扫描
A01 访问控制失效 保持第1位 部分(IDOR 需人工)
A02 安全配置错误 保持第2位 ✓ Nikto 擅长
A03 软件供应链失效 新增(原 A08 升级) ✓ SCA 工具
A04 加密失效 保持第4位 ✓ SSL Labs 等
A05 注入 从第3降至第5 ✓ sqlmap/Nuclei
A06 不安全设计 从第4降至第6 ✗ 需人工审计
A07 身份认证失效 保持第7位 部分(爆破可检测)
A08 软件与数据完整性失效 保持第8位 ✗ 需代码审计
A09 安全日志与告警失效 保持第9位 ✗ 需运维审计
A10 异常条件处理不当 新增 ✗ 需人工测试

5.2 关键变化解读

2025 版相比 2021 版有两个重要变化值得关注:

• A03 软件供应链失效首次进入前三:Log4Shell 事件后,第三方组件的漏洞成为攻击主流。你的代码可能很安全,但你依赖的开源库可能藏着一个后门。这正是 Nuclei 模板库快速覆盖 CVE 的原因——每一个新 CVE 都可能被供应链攻击利用
• A05 注入从第 3 降至第 5:这并非因为注入变少了,而是因为参数化查询的普及让 SQL 注入的比例在下降。但 XSS 仍然属于注入大类,且仍是测试最多、关联 CVE 数量最多的类别之一。sqlmap 和 Nuclei 仍是注入检测的主力工具
• A10 异常条件处理不当是全新类别:关注的是程序在异常状态下(内存不足、磁盘满、网络中断)的行为——很多系统在异常路径上暴露了不该暴露的信息或权限。这类漏洞几乎无法被自动化扫描器发现,需要人工构造异常场景测试
💡 小贴士
OWASP Top 10 的"自动化可检测性"列揭示了一个残酷现实:排名第 1 的"访问控制失效"几乎无法被扫描器发现,排名第 6 的"不安全设计"和排名第 10 的"异常条件处理"同样依赖人工。扫描器能高效发现的 A02(配置错误)、A04(加密失效)、A05(注入)反而排名靠后。这意味着:工具不是万能的,人脑不可替代——扫描找"已知漏洞",人工找"逻辑漏洞",两者缺一不可。
六、实战工作流:从扫描到报告

前面三章分别学了 Nikto、Nessus、Nuclei 三款扫描器。实战中不会只用一个——而是将它们组合成流水线,各取所长。以下是一个完整的漏洞扫描工作流,从目标输入到结构化报告输出。

6.1 四阶段流水线设计

① 端口与服务发现:nmap 扫描确认开放端口和服务版本,输出可作为后续工具的输入
② Web 配置审计:Nikto 快速扫描 HTTP 服务,发现配置缺陷和暴露文件
③ CVE 漏洞扫描:Nuclei 对发现的 Web 服务运行 CVE 模板,Nessus 对非 Web 服务做系统级扫描
④ 结果整合与报告:去重、按 CVSS 排序、生成结构化报告

6.2 自动化扫描脚本

将四阶段串联成自动化脚本,避免手动逐个执行。以下脚本接收一个目标 IP,依次运行 Nikto 和 Nuclei,将结果合并为 JSON 报告:

vuln_scan.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env python3
"""漏洞扫描自动化脚本 - 整合 Nikto + Nuclei"""
import subprocess
import json
import os
import sys
from datetime import datetime
 
def run_nikto(target):
    """运行 Nikto 扫描并返回 JSON 结果"""
    output_file = f"/tmp/nikto_{target.replace('.', '_')}.json"
    cmd = [
        "nikto", "-h", f"http://{target}",
        "-Format", "json", "-output", output_file
    ]
    subprocess.run(cmd, capture_output=True)
    with open(output_file) as f:
        return json.load(f)
 
def run_nuclei(target):
    """运行 Nuclei 扫描并返回结果列表"""
    output_file = f"/tmp/nuclei_{target.replace('.', '_')}.txt"
    cmd = [
        "nuclei", "-u", f"http://{target}",
        "-severity", "critical,high,medium",
        "-o", output_file, "-json"
    ]
    subprocess.run(cmd, capture_output=True)
    results = []
    if os.path.exists(output_file):
        with open(output_file) as f:
            for line in f:
                if line.strip():
                    results.append(json.loads(line))
    return results
 
if __name__ == "__main__":
    target = sys.argv[1] if len(sys.argv) > 1 else "192.168.1.100"
    report = {
        "target": target,
        "scan_time": datetime.now().isoformat(),
        "nikto": run_nikto(target),
        "nuclei": run_nuclei(target)
    }
    print(json.dumps(report, indent=2, ensure_ascii=False))

6.3 报告解读与优先级排序

扫描完成后,面对几十甚至上百条漏洞,如何排优先级?三条原则:

• CVSS 分数 + 利用难度:一个 CVSS 9.8 但需要认证的漏洞,优先级低于 CVSS 7.5 但无需认证的漏洞。看分数的同时要看"攻击复杂度"
• 资产价值:面向公网的核心业务服务器 > 内网开发服务器 > 测试环境。同样级别的漏洞,在高价值资产上优先修复
• 去重与关联:Nikto 和 Nuclei 可能报告同一个 CVE,需要按 CVE 编号去重。同一个根因(如 PHP 版本过旧)可能导致多个漏洞,修一个根因解决多个问题
⚠️ 常见错误
扫到漏洞就立即利用 — 扫描结果是"疑似漏洞",Nikto 和 Nuclei 都有误报率,未经人工验证的漏洞报告不能直接用于修复决策
✓ 正确:对 critical/high 级别漏洞逐条手动验证——用 curl 复现 HTTP 请求、检查响应确认漏洞存在,再写入修复工单
💡 小贴士
自动化脚本的输出不要直接作为"漏洞清单"提交。正确流程是:脚本输出 → 人工去重 → 逐条验证 → 确认漏洞 → 按优先级排序 → 生成最终报告。这个流程和真实渗透测试公司的工作方式一致——扫描器负责"广撒网",人工负责"捞鱼"。
七、道德与法律边界

漏洞扫描工具的威力越大,使用边界就越重要。本篇涉及的 Nikto、Nessus、Nuclei 都是主动扫描工具——它们会向目标发送大量探测请求,即使不造成损害,行为本身也受法律约束。

7.1 法律红线

行为 法律性质 依据
扫描未授权目标 违法(即使未入侵) 网络安全法第27条
扫描已授权目标 合法 书面授权 + 范围约定
扫描自有资产 合法 所有权即授权
公开漏洞利用 视目标授权而定 刑法285/286条

7.2 授权测试环境

本系列所有实操练习都在自建靶机上完成。以下是推荐的安全练习环境:

• DVWA:Damn Vulnerable Web Application,PHP 编写的靶机,包含 SQL 注入、XSS、文件上传等漏洞。Docker 一键部署:docker run -d -p 80:80 vulnerable/web-dvwa
• Vulhub:基于 Docker-Compose 的漏洞环境集合,覆盖 Log4Shell、Struts2、Spring 等知名漏洞。每个环境都有复现文档
• Metasploitable 2:Ubuntu 虚拟机镜像,预装了大量含漏洞服务(vsftpd 后门、Samba 远程执行、Tomcat 弱口令),适合 Nessus 全栈扫描练习

7.3 负责任披露原则

如果在扫描中意外发现了他人系统的漏洞(例如公网扫描时发现某网站暴露了 phpinfo),正确的做法是负责任披露:

• 通过厂商的 SRC(安全应急响应中心)提交漏洞,如腾讯 SRC、阿里 SRC
• 不在公开渠道(社交媒体、博客)公开未修复漏洞的详情
• 给予厂商合理的修复时间(通常 90 天),到期后可选择公开
• 绝不利用发现的漏洞获取未授权数据或权限
💡 小贴士
很多企业有漏洞赏金计划(Bug Bounty),通过 SRC 提交有效漏洞可以获得现金奖励。这比"自由发挥"安全得多——合法授权 + 赏金回报,是白帽黑客的正道。国内 SRC 平台如补天、漏洞银行等,聚合了大量企业的漏洞提交渠道。
分级练习

以下练习按难度分为三级,建议在自建 DVWA 或 Metasploitable 2 靶机上完成。

Level 1:基础 — Nikto 扫描 DVWA

• 用 Docker 部署 DVWA:docker run -d -p 8080:80 vulnerable/web-dvwa
• 用 Nikto 扫描 http://localhost:8080,记录所有发现
• 将结果输出为 JSON 格式,统计发现的安全问题数量
• 对照 OWASP Top 10,将每个发现归类到对应的风险类别

Level 2:进阶 — Nuclei CVE 扫描与报告

• 部署 Metasploitable 2 虚拟机(或用 Vulhub 中的任意漏洞环境)
• 运行 nuclei -u http://靶机IP -severity critical,high -o results.txt
• 逐条分析扫描结果,记录每个漏洞的 CVE 编号、CVSS 分数、利用条件
• 手动验证至少 2 个漏洞(用 curl 或浏览器复现),确认是否为误报

Level 3:挑战 — 编写自定义 Nuclei 模板

• 在 DVWA 中找到一个已知漏洞(如反射型 XSS)
• 编写一个 Nuclei YAML 模板,检测该漏洞的特定 payload 和匹配规则
• 用 nuclei -u http://靶机IP -t your_template.yaml 运行自定义模板
• 将本篇的 vuln_scan.py 脚本扩展为支持三工具并行扫描的版本
🏷 知识回顾
漏洞扫描三类型 指纹匹配逻辑 Nikto 2.6.1 -Tuning 调优 Nessus 10.12.4 CVSS 分级 Nuclei 3.11.1 YAML 模板 OWASP Top 10 2025 A03 供应链失效 T1595.002 四阶段流水线 负责任披露
下一篇预告
模块 1 信息收集与侦察至此完成——从 nmap 端口发现、masscan 高速扫描、指纹识别与目录爆破,到本篇的漏洞扫描,侦察阶段的能力链已建立完整。下一篇进入模块 2:Web 应用攻击,从最经典的注入攻击开始——sqlmap 自动化注入与 Burp Suite 抓包改包,将扫描发现的漏洞推进到实际利用阶段。从"知道哪里有问题"到"证明问题有多严重",这是渗透测试最核心的跨越。