brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
performing-web-application-scanning-with-niktoNikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。
Independent GitHub snapshot · Automated classification · Original documentation governs
Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。它执行全面测试,包括 XSS、SQL 注入、服务器错误配置、默认凭据和已知漏洞 CGI 脚本。
| 功能 | Nikto | OWASP ZAP | Burp Suite | Nuclei |
|---|---|---|---|---|
| 许可证 | 开源 | 开源 | 商业 | 开源 |
| 重点 | 服务器/配置 | 应用逻辑 | 完整渗透测试 | 模板驱动 |
| 速度 | 快 | 中 | 慢 | 非常快 |
| 误报率 | 中等 | 低 | 低 | 低 |
| 认证支持 | 基本 | 完整 | 完整 | 模板 |
| 活跃社区 | 是 | 是 | 是 | 是 |
# 对目标执行基本扫描
nikto -h https://target.example.com
# 扫描特定端口
nikto -h target.example.com -p 8443
# 扫描多个端口
nikto -h target.example.com -p 80,443,8080,8443
# 强制 SSL 扫描
nikto -h target.example.com -ssl
# 从主机列表文件扫描
nikto -h targets.txt
# 使用所有调优选项执行全面扫描
nikto -h https://target.example.com \
-Tuning 123456789abcde \
-timeout 10 \
-Pause 2 \
-Display V \
-output report.html \
-Format htm
# 调优选项控制测试类型:
# 0 - 文件上传
# 1 - 有趣的文件/日志中发现
# 2 - 错误配置/默认文件
# 3 - 信息泄露
# 4 - 注入(XSS/Script/HTML)
# 5 - 远程文件获取 - Web 根目录内
# 6 - 拒绝服务
# 7 - 远程文件获取 - 服务器全局
# 8 - 命令执行/远程 Shell
# 9 - SQL 注入
# a - 认证绕过
# b - 软件识别
# c - 远程源包含
# d - WebService
# e - 管理控制台
# 使用特定调优扫描(XSS + SQL 注入 + 认证绕过)
nikto -h https://target.example.com -Tuning 49a
# 使用认证扫描
nikto -h https://target.example.com -id admin:password
# 通过代理扫描
nikto -h https://target.example.com -useproxy http://proxy:8080
# 使用自定义 User-Agent 扫描
nikto -h https://target.example.com -useragent "Mozilla/5.0 (Security Scan)"
# 扫描特定 CGI 目录
nikto -h https://target.example.com -Cgidirs /cgi-bin/,/scripts/
# 规避技术(仅用于授权的 IDS 规避测试)
# 1-随机 URI 编码,2-目录自引用
# 3-提前结束 URL,4-前置长随机字符串
nikto -h https://target.example.com -evasion 1234
# 生成多种输出格式
nikto -h https://target.example.com -output scan.csv -Format csv
nikto -h https://target.example.com -output scan.xml -Format xml
nikto -h https://target.example.com -output scan.html -Format htm
nikto -h https://target.example.com -output scan.txt -Format txt
# JSON 输出(较新版本)
nikto -h https://target.example.com -output scan.json -Format json
# 同时保存为多种格式
nikto -h https://target.example.com \
-output scan_report \
-Format htm
# 创建目标文件(每行一个)
cat > targets.txt << 'EOF'
https://app1.example.com
https://app2.example.com:8443
http://internal-app.corp.local
192.168.1.100:8080
EOF
# 扫描所有目标
nikto -h targets.txt -output multi_scan.html -Format htm
# 使用 GNU parallel 并行扫描
cat targets.txt | parallel -j 5 "nikto -h {} -output {/}_report.html -Format htm"
# 全面 SSL 扫描
nikto -h https://target.example.com -ssl \
-Tuning b \
-Display V
# 检查特定 SSL 漏洞
# Nikto 检查以下内容:
# - 过期证书
# - 自签名证书
# - 弱密码套件
# - 启用了 SSLv2/SSLv3
# - BEAST、POODLE、Heartbleed 指标
# - 缺少 HSTS 标头
# 将 Nmap 结果管道传输到 Nikto
nmap -p 80,443,8080 --open -oG - 192.168.1.0/24 | \
awk '/open/{print $2}' | \
while read host; do nikto -h "$host" -output "${host}_nikto.html" -Format htm; done
# 导出为 Metasploit 兼容格式
nikto -h target.example.com -output msf_import.xml -Format xml
# 使用 Python 解析 Nikto XML 输出以生成自定义报告
python3 -c "
import xml.etree.ElementTree as ET
tree = ET.parse('scan.xml')
for item in tree.findall('.//item'):
print(f\"[{item.get('id')}] {item.findtext('description', '')[:100]}\")
"