nikto web服务器扫描器工具
之前学习的时候没有做好笔记导致现在忘完了,下面就叫我学习给记录下来
Nikto 是一款开源 (GPL) 网络服务器扫描器,可针对多个项目对网络服务器执行全面测试,包括 6700 多个具有潜在危险的文件/程序、检查 1250 多个服务器的过时版本以及 270 多个服务器上的版本特定问题。它还会检查服务器配置项目,例如是否存在多个索引文件、HTTP 服务器选项,并将尝试识别已安装的 Web 服务器和软件。扫描项目和插件经常更新,可以自动更新
nikto工具安装
kali默认是安装了的
其他linux的安装方法很简单
克隆github
1 | git clone https://github.com/sullo/nikto |
proxychains4是我添加了代理
进入目录cd nikto/program
运行./nikto.pl
nikto工具的使用
全部参数
选项 | 描述 |
---|---|
-ask | 是否询问提交更新: yes - 询问每个(默认) *no - 不询问,不发送 *auto - 不询问,只发送 |
-Cgidirs | 扫描这些 CGI 目录: * none * all * 或类似 “/cgi/ /cgi-a/“ 的值 |
-config | 使用这个配置文件 |
-Display | 打开/关闭显示输出: |
1 显示重定向 | |
2 显示收到的 cookie | |
3 显示所有 200/OK 响应 | |
4 显示需要身份验证的 URL * D 调试输出 * E 显示所有 HTTP 错误 * P 打印进度到 STDOUT * S Scrub IP 和主机名的 输出 * V 详细输出 | |
-dbcheck | 检查数据库和其他关键文件的语法错误 |
-evasion | 编码技术:用来逃避 |
1 随机 URI 编码(非 UTF8) | |
2 目录自引用(/./) | |
3 过早的 URL 结尾 | |
4 前置长随机字符串 | |
5 假参数 | |
6 TAB 作为请求间隔 | |
7 更改URL的大小写 | |
8 使用Windows目录分隔符() | |
A 使用回车 (0x0d) 作为请求间隔 | |
B 使用二进制值 0x0b 作为请求间隔 | |
-Format/-o | 保存文件 (-o) 格式: |
csv 逗号分隔值 | |
json JSON 格式 | |
htm HTML 格式 | |
nbe Nessus NBE 格式 | |
sql 通用 SQL(有关架构,请参阅文档) | |
txt 纯文本 | |
xml XML 格式 | |
(如果未指定,格式将从传递给 -output 的文件扩展名中获取) | |
-Help | 此帮助信息 |
-host | 目标主机/URL |
-404code | 忽略这些 HTTP 代码作为否定响应(始终)。格式为“302,301”。 |
-404string | 在响应正文内容中忽略此字符串作为否定响应(始终)。可以是正则表达式。 |
-id | 要使用的主机身份验证,格式为 id:pass 或 id:pass:realm |
-key | 客户端证书密钥文件 |
-list-plugins | 列出所有可用的插件 |
-maxtime | 每台主机的最长测试时间(例如,1h、60m、3600s) |
-mutate | 猜测其他文件名: |
1 使用所有根目录测试所有文件 | |
2 猜测密码文件名 | |
3 通过 Apache 枚举用户名(/~user 类型请求) | |
4 通过 cgiwrap 枚举用户名(/cgi-bin/cgiwrap/~user 类型请求) | |
5 尝试暴力破解子域名,假设主机名是父域 | |
6 尝试从提供的字典文件中猜测目录名 | |
-mutate-options | 提供变异信息 |
-nointeractive | 禁用交互功能 |
-nolookup | 禁用 DNS 查找 |
-nossl | 禁用 SSL |
-no404 | 禁用 nikto 尝试猜测 404 页面 |
-Option | 覆盖 nikto.conf 中的一个选项,可以多次发出 |
-output | 将输出写入此文件(“.”代表自动名称) |
-Pause | 在测试之间暂停(秒、整数或浮点数) |
-Plugins | 要运行的插件列表(默认值:ALL) |
-port | 要使用的端口(默认 80) |
-RSAcert | 客户端证书文件 |
-root | 为所有请求添加根值,格式为 /directory |
-Save | 保存对该目录的肯定响应(’.’ 表示自动命名) |
-ssl | 在端口上强制 ssl 模式 |
-Tuning/-T | 扫描调谐: |
1 个有趣的文件 / 在日志中看到 | |
2 错误配置/默认文件 | |
3 信息披露 | |
4 注入(XSS/脚本/HTML) | |
5 远程文件检索 - 内部 Web Root | |
6 拒绝服务 | |
7 远程文件检索 - 服务器范围 | |
8 命令执行/远程Shell | |
9 SQL注入 | |
0 文件上传 | |
a身份验证绕过 | |
b 软件标识 | |
c 远程源包含 | |
d 网络服务 | |
e管理控制台 | |
x 反向调整选项(即,包括除指定之外的所有选项) | |
-timeout | 请求超时(默认 10 秒) |
-Userdbs | 仅加载用户数据库,而不加载标准数据库 |
all 禁用标准数据库并仅加载用户数据库 | |
测试仅禁用 db_tests 并加载 udb_tests | |
-useragent | 覆盖默认的用户代理 |
-until | 运行到指定的时间或持续时间 |
-update | 从 CIRT.net 更新数据库和插件 |
-url | 目标主机/URL(-host 的别名) |
-useproxy | 使用 nikto.conf 中定义的代理,例如http://127.0.0.1:8080 |
-Version | 打印插件和数据库版本 |
-vhost | 一个IP拥有多个网站时使用 |
常用的参数
1 | -config 使用这个配置文件 |
基本使用
查所有可用的插件
我们进行大量的扫描都是用的插件进行判断的
1 | nikto -list-plugins |
基本扫描
-h
即是-host
1 | nikto -h 192.168.1.1 #单个ip目标指定 |
设置代理用-useproxy
参数
格式
1 | nikto xxxxxxx -useproxy http://xxxx:xxxxx |
下面的演示的命令
1 | sudo nikto -h www.baidu.com -useproxy http://127.0.0.1:8889 |
其他的就不演示了你们看参数吧
扫描中的操作
1 | 空格 是查看当前扫描百分之多少了剩余时间等等等 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZSSのW啥都学!
评论