Nikto:Web 安全的隐匿风险洞察者
1. 安装 Nikto
1.1 主流系统安装
2. 基本命令与参数
2.1 基础语法
2.2 常用参数
参数 | 功能 | 示例 |
---|---|---|
-h | 指定目标 | -h http://example.com |
-p | 指定端口 | -p 80,443,8080 |
-ssl | 强制使用 SSL | -ssl |
-id | HTTP 认证凭据 | -id admin:password |
-Tuning | 扫描模板(数字) | -Tuning 1 (仅检查高危漏洞) |
-Plugins | 启用插件 | -Plugins "apache_expect_xss" |
-output | 保存结果 | -output result.txt |
-Format | 输出格式 | -Format csv (支持 txt/xml/html/csv) |
-evasion | 绕过 IDS/IPS | -evasion 1 (随机化 URL 编码) |
3. 使用场景与示例
3.1 基础扫描
命令:扫描 http://example.com
的默认端口(80):
示例输出:
- Nikto v2.5.0
+ Target IP: 192.168.1.10
+ Target Hostname: example.com
+ Target Port: 80
+ Start Time: 2024-01-01 12:00:00
+ Server: Apache/2.4.41 (Ubuntu)
+ /config.php: PHP configuration file found.
+ /backup.zip: Backup file found.
+ 6544 items checked: 3 error(s) and 5 item(s) reported on remote host
+ End Time: 2024-01-01 12:02:30 (150 seconds)
3.2 多端口扫描
命令:扫描 example.com
的 80、443、8080 端口,并保存为 HTML 报告:
输出文件:生成 result.html
,包含漏洞详情和修复建议。
3.3 SSL 扫描与绕过检测
命令:强制使用 SSL,并绕过 IDS/IPS:
示例输出:
4. 高级功能
4.1 自定义扫描模板
通过 -Tuning
参数指定扫描范围(数字组合):
1:检查高危漏洞(如文件泄露)
2:检查中危漏洞(如配置错误)
3:检查低危信息(如服务器版本)
4:检查 CGI 问题
5:检查远程文件包含(RFI)
示例:仅扫描高危和 CGI 问题:
4.2 插件扩展
Nikto 支持插件增强扫描能力(插件位于 /usr/share/nikto/plugins
):
4.3 代理与速率限制
通过代理扫描或限制请求速度:
5. 输出解读与修复建议
5.1 常见漏洞类型
文件泄露:如备份文件(
.zip
、.bak
)、配置文件(.php
)。目录遍历:未授权的目录列表权限。
过时软件:Apache/Nginx 旧版本(存在 CVE 漏洞)。
Cookie 问题:未启用
Secure
或HttpOnly
标志。
5.2 修复建议
删除敏感文件:清理备份文件和调试脚本。
更新软件版本:升级 Web 服务器和 CMS(如 WordPress)。
配置安全头:启用
Content-Security-Policy
和X-Content-Type-Options
。禁用目录索引:在 Web 服务器配置中关闭
Options Indexes
。
6. 注意事项
法律合规:仅扫描拥有授权的目标。
扫描影响:高频请求可能导致目标服务中断,建议在非高峰时段操作。
误报处理:人工验证关键漏洞(如
config.php
是否真实存在)。更新数据库:定期同步 Nikto 漏洞库:
7. 综合示例
目标:全面扫描 https://example.com
,绕过 IDS,保存 CSV 报告:
输出分析:
高危漏洞:
/backup.sql
文件暴露。中危漏洞:Apache 2.4.41 存在 CVE-2022-23943。
建议措施:删除备份文件并升级 Apache。
评论