0Pricing
Cyber Security Academy · 课时

使用 Nikto 和 OWASP ZAP 扫描 Web 应用

使用 Nikto 和 OWASP ZAP 的主动扫描器,扫描 Web 应用中的常见漏洞。

使用 Nikto 和 OWASP ZAP 扫描 Web 应用 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。

Web 应用攻击面

Web 应用会暴露复杂的攻击面:URL 参数、表单字段、Cookie、标头、文件上传和 API。自动化扫描器会系统地探测这些对象,以查找常见漏洞。

Nikto 基础

Nikto 是一个命令行 Web 服务器扫描器,用于检查危险文件、过时软件、不安全标头和已知 CVE。它速度快、使用简单,但会产生大量请求,并不隐蔽。

nikto -h http://target.com

# Key options:
# -h target host
# -p port (default 80)
# -ssl for HTTPS
# -Tuning to filter check types
# -o output file, -Format format

解读 Nikto 输出

Nikto 会在发现项前加上 +。请重点关注:暴露的管理界面、目录列表、缺失的安全标头、过时的服务器版本,以及 /phpinfo.php 等可能危险的文件。

+ Server: Apache/2.4.49
+ /admin/: Admin login page found
+ /phpinfo.php: PHP info exposed
+ X-Frame-Options header missing
+ Allowed HTTP Methods: GET, POST, PUT, DELETE

OWASP ZAP 概览

OWASP ZAP(Zed Attack Proxy)是一款功能完整的 Web 应用安全扫描器,提供 GUI 和 API。它可以充当代理、爬虫和主动扫描器,既适合手动测试,也适合自动化测试。

ZAP 代理设置

将浏览器配置为使用 ZAP 作为代理(localhost:8080)。ZAP 会捕获所有流量并构建站点地图。此被动阶段只收集信息,不发送攻击载荷。

# Start ZAP
zap.sh

# Or headless CLI
zap.sh -daemon -port 8080

# Set browser proxy:
# HTTP: 127.0.0.1:8080

ZAP 爬虫

爬虫通过跟随链接和表单操作来遍历应用。AJAX 爬虫可以处理大量使用 JavaScript 的单页应用。两者都会构建完整的站点地图,以供主动扫描使用。

# CLI spider
zap-cli spider http://target.com

# AJAX spider for SPAs
# Use GUI: Tools > AJAX Spider

ZAP 主动扫描器

主动扫描器会向发现的每个输入点发送攻击载荷(SQL 注入、XSS、路径遍历)。风险级别包括:高、中、低和信息。

zap-cli active-scan --scanners all http://target.com

# Or via API
curl "http://localhost:8080/JSON/ascan/action/scan/?url=http://target.com"

阅读 ZAP 警报

ZAP 会将发现项归入警报。每条警报都会显示:风险级别、置信度、受影响的 URL、使用的攻击载荷、响应中的证据以及建议的修复措施。高置信度意味着误报更少。

在 CI/CD 流程中使用 ZAP

ZAP 提供 Docker 镜像,可在流程中执行自动化扫描。zap-baseline.py 脚本执行适用于 CI 的被动扫描;zap-full-scan.py 执行主动扫描。

# Docker baseline scan (passive only)
docker run -t zaproxy/zap-stable \
  zap-baseline.py -t http://target.com

# Full active scan
docker run -t zaproxy/zap-stable \
  zap-full-scan.py -t http://target.com

比较 Nikto 和 ZAP

Nikto:简单、快速、命令行工具,最适合快速检查和发现服务器级问题。ZAP:功能全面、基于代理、能够处理复杂应用,更适合发现应用级漏洞并集成到 CI 流程中。

范围与授权

请仅扫描您拥有或已获得书面授权进行测试的系统。未经授权的扫描可能违反法律(CFAA、《计算机滥用法》)和服务条款,即使没有造成任何损害。

快速检查

ZAP 的主动扫描器与被动扫描有何区别?

总结:Web 扫描工具

Nikto 可以在几秒内提供快速的服务器级发现结果。ZAP 通过代理拦截、爬取和主动攻击,提供深入的应用级扫描。两者都需要获得授权。在成熟的流程中,应在每次部署时自动执行基线 ZAP 扫描,以便在回归问题进入生产环境之前发现它们。

常见问题解答

「使用 Nikto 和 OWASP ZAP 扫描 Web 应用」课时是免费的吗?

是的 — 「使用 Nikto 和 OWASP ZAP 扫描 Web 应用」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。

「使用 Nikto 和 OWASP ZAP 扫描 Web 应用」这节课中我会学到什么?

使用 Nikto 和 OWASP ZAP 的主动扫描器,扫描 Web 应用中的常见漏洞。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cyber Security Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「使用 Nikto 和 OWASP ZAP 扫描 Web 应用」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cyber Security Academy 课中编写并运行代码吗?

能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. CVE、CWE 与 CVSS 评分
  2. 运行 Nessus 或 OpenVAS 扫描
  3. 使用 Nikto 和 OWASP ZAP 扫描 Web 应用
  4. 确定发现项的优先级并修复
← 返回 Cyber Security Academy