nikto对Web进行扫描
nikto对Web进行扫描
Nikto是一款开源的网站安全扫描工具,它能够对Web服务器进行多种检查,包括对超过6700个潜在危险文件/CGIs的检测,对超过1250个服务器的版本特定问题的检测,以及对版本问题和特定问题的检查。Nikto旨在帮助系统管理员和安全专家检测和解决Web服务器的安全漏洞。
主要特点
- 快速扫描:Nikto可以快速对Web服务器进行全面扫描,尽管速度快但仍能提供深入的检查。
- 广泛的数据库:拥有庞大的检测数据库,包括对多种Web服务器的已知漏洞的检测。
- 易于更新:可以通过简单的命令行选项更新其漏洞数据库,确保能够检测到最新的已知漏洞。
- 灵活的输出格式:支持多种输出格式,包括HTML、文本、CSV、XML等,易于报告和整合。
- SSL支持:可以对使用SSL的网站进行扫描。
- 模板扫描:可以识别和检测特定类型的Web应用程序,例如WordPress等的特定漏洞。
基本用法
# 更新 Nikto 库
nikto -update
# 查看插件库
nikto -list-plugins
# 常规扫描
nikto -host <IP>
nikto -url <URL>
# 扫描网站并输出结果
nikto -[host|url] <IP|URL> -o <fils.[html|txt|xml|csv]>
# 例
nikto -host http://192.168.56.11/dvwa/ -o /usr/text.txt
nikto -host http://192.168.56.11/dvwa/ -o /usr/text.html
# 扫描IP加端口
nikto -host <IP> -port <PORT>
# 扫描HTTPS
nikto -host <IP> -port <PORT> -ssl
# Nikto和Nmap联合扫描
nmap -p<PORT> [ip]/24 -oG - | nikto -host -
# 例如 nmap 扫描所有开放 80 端口的 IP 并通过 -oG 选项对扫描结果输出并整理后,通过管道将上述扫描结果导入至Nikto进行扫描
nmap -p80 192.168.0.0/24 -oG - | nikto -host -
# Nikto代理扫描
nikto -host <IP> -useproxy <proxy>
详细帮助信息
-ask+ 是否询问提交更新
yes 询问每个(默认)
no 不询问,不发送
auto 不询问,直接发送
-check6 检查IPv6是否工作(连接到ipv6.google.com或设置在nikto.conf中的值)
-Cgidirs+ 扫描这些CGI目录:"none", "all",或像"/cgi/ /cgi-a/"的值
-config+ 使用这个配置文件
-Display+ 打开/关闭显示输出:
1 显示重定向
2 显示接收到的cookie
3 显示所有的200/OK响应
4 显示需要认证的URL
D 调试输出
E 显示所有的HTTP错误
P 向STDOUT打印进度
S 清洗输出中的IP和主机名
V 详细输出
-dbcheck 检查数据库和其他关键文件是否有语法错误
-evasion+ 编码技术:
1 随机URI编码(非UTF8)
2 目录自引用(/./)
3 预先结束URL
4 预先添加长随机字符串
5 伪造参数
6 使用制表符(TAB)作为请求间隔
7 改变URL的大小写
8 使用Windows目录分隔符(\)
A 使用回车(0x0d)作为请求间隔
B 使用二进制值0x0b作为请求间隔
-followredirects 跟随3xx重定向到新位置
-Format+ 保存文件(-o)格式:
csv 逗号分隔值
json JSON格式
htm HTML格式
nbe Nessus NBE格式
sql 通用SQL(查看文档以获取模式)
txt 纯文本
xml XML格式
(如果没有指定,格式将从传递给-output的文件扩展名中获取)
-Help 这个帮助信息
-host+ 目标主机/URL
-id+ 要使用的主机认证,格式是id:pass或id:pass:realm
-ipv4 仅IPv4
-ipv6 仅IPv6
-key+ 客户端证书密钥文件
-list-plugins 列出所有可用的插件,不执行测试
-maxtime+ 每个主机的最大测试时间(例如,1h,60m,3600s)
-mutate+ 猜测附加文件名:
1 使用所有根目录测试所有文件
2 猜测密码文件名
3 通过Apache枚举用户名(/~user类型请求)
4 通过cgiwrap(/cgi-bin/cgiwrap/~user类型请求)枚举用户名
5 尝试暴力破解子域名,假设主机名是父域名
6 尝试从提供的字典文件中猜测目录名
-mutate-options 为mutates提供信息
-nointeractive 禁用交互式功能
-nolookup 禁用DNS查找
-nossl 禁用SSL的使用
-noslash 从URL中删除尾随斜杠(例如,'/admin/'到'/admin')
-no404 禁止nikto尝试猜测404页面
-Option 覆盖nikto.conf中的选项,可以多次发出
-output+ 写入输出到这个文件('.'为自动命名)
-Pause+ 测试之间的暂停(秒)
-Plugins+ 要运行的插件列表(默认:ALL)
-port+ 使用的端口(默认80)
-RSAcert+ 客户端证书文件
-root+ 预先添加根值到所有请求,格式是/directory
-Save 将积极响应保存到这个目录('.'为自动命名)
-ssl 强制在端口上使用ssl模式
-Tuning+ 扫描调优(续):
8 命令执行/远程Shell
9 SQL注入
0 文件上传
a 认证绕过
b 软件识别
c 远程源包含
d Web服务
e 管理控制台
x 反转调优选项(即,包括所有除了指定的)
-timeout+ 请求的超时时间(默认10秒)
-Userdbs 仅加载用户数据库,不加载标准数据库
all 禁用标准数据库并仅加载用户数据库
tests 禁用db_tests并加载udb_tests
-useragent 覆盖默认的用户代理
-until 运行直到指定的时间或持续时间
-url+ 目标主机/URL(-host的别名)
-usecookies 在将来的请求中使用响应中的cookie
-useproxy 使用nikto.conf中定义的代理,或参数http://server:port
-Version 打印插件和数据库版本
-vhost+ 虚拟主机(用于Host头)
-404code 忽略这些HTTP代码作为负面响应(总是)。格式是"302,301"。
-404string 忽略响应正文内容中的这个字符串作为负面响应(总是)。可以是正则表达式。
+ 需要一个值
注意事项
- 使用Nikto时应考虑其扫描活动可能会在Web服务器上产生大量日志记录。
- Nikto扫描可能会被目标站点的防火墙或入侵检测系统检测到。