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啥都学!
评论



