Kali工具库之Nikto

article/2025/10/15 4:24:38

工具简介

Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出
2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的
http模式等。

链接

官方网站

https://cirt.net/Nikto2

Github源码

https://github.com/sullo/nikto

英文文档

https://cirt.net/nikto2-docs/

功能介绍

以下是Nikto的一些主要功能:

  1. SSL支持(带有OpenSSL的Unix或带有ActiveState的Perl / NetSSL的Windows )
  2. 全面的HTTP代理支持
  3. 检查过时的服务器组件
  4. 以纯文本,XML,HTML,NBE或CSV保存报告
  5. 可使用模板自定义报告
  6. 扫描服务器上的多个端口,或着通过其他工具的输出(例如nmap)扫描多个服务器
  7. LibWhisker的IDS编码技术
  8. 通过标题,网站图标和文件识别已安装的软件
  9. 使用Basic和NTLM进行主机身份验证
  10. 子域名猜测
  11. Apache和cgiwrap用户名枚举

安装使用

Kali 安装

推荐使用Kali,Kali默认已经安装Nikto

apt-get update
apt-get install nikto

Docker容器安装:

git clone https://github.com/sullo/nikto.git
cd nikto
docker build -t sullo/nikto .
# Call it without arguments to display the full help
docker run --rm sullo/nikto
# Basic usage
docker run --rm sullo/nikto -h http://www.example.com
# To save the report in a specific format, mount /tmp as a volume:
docker run --rm -v $(pwd):/tmp sullo/nikto -h http://www.example.com -o /tmp/out.json

源码安装

Nikto使用Perl语言编写运行,请提前安装Perl语言环境

以Ubuntu的举例,启动终端并使用普通用户下载最新版本的Nikto。

wget https://github.com/sullo/nikto/archive/master.zip

您可以使用存档管理器工具将其解压缩,也可以将tar和gzip与该命令一起使用。

unzip master.zip
cd nikto-master / program
perl nikto.pl

如果执行时遇到SSL支持错误,需要执行apt install libnet-ssleay-perl安装SSL支持。

使用说明

工具使用

打开Kali工具列表,点击02-漏洞扫描,选择nikto LOGO,会打开Terminal终端

在这里插入图片描述

Nikto帮助

在终端中我们可以使用nikto 命令查看帮助信息,或者通过nikto -H 、man nikto 查看更详细的帮助信息。
在这里插入图片描述

Nikto 插件

Nikto 通过大量插件进行扫描,我们可以通过 nikto -list-plugins 来查看插件信息
在这里插入图片描述

并且可以通过nikto -V 来查看工具版本和插件版本
在这里插入图片描述

常规扫描

在终端中使用nikto -host/-h http://www.example.com进行扫描
在这里插入图片描述

指定端口扫描

使用命令nikto -h http://xxx.xxx.xxx.xxx -p 端口号可以指定端口进行扫描,同样可以指定SSL协议,进行HTTPS扫描。
在这里插入图片描述

指定目录扫描

有时候我们只要扫描网站下的某个子目录,我们可以使用-c 参数指定扫描的目录,使用-c all 可进行目录爆破,并扫描。
在这里插入图片描述

多目标扫描

nikto支持多个目标进行扫描,我们将多个地址写入到文本中,通过- host参数+文本的方式进行扫描。
在这里插入图片描述

其他功能

升级更新插件:nikto -update

在这里插入图片描述

扫描结果输出

Nikto 可以通过下列四种格式对扫描结果进行输出:
在这里插入图片描述

具体命令如下:

nikto -host/-h http://www.example.com -o result.html -F htm

扫描结果如图:
在这里插入图片描述

此外,Nikto的扫描结果可以导出为Metasploit在执行扫描时可以读取的格式,这样我们就可以使用漏洞库快速配检索数据

nikto -host/-h http://www.example.com -Format msf+

绕过IDS检测

Nikto 在扫描过程中可以使用8种规则绕过IDS检测,参数是 - evasion,具体规则如下:

  1. 随机url编码
  2. 自选路径
  3. 提前结束url
  4. 优先考虑长随机字符串
  5. 参数欺骗
  6. 使用TAB作为命令分隔符
  7. 使用变化的url 8,使用windows路径分隔符

Nikto扫描交互参数
Nikto 在执行命令行扫描过程中提供一些操作,可以了解扫描的一些进度信息,详细参数如下:

  1. 空格 报告当前扫描状态
  2. v 显示详细信息(verbose) 再按一次V继续扫描
  3. d 调试信息(及其详细信息)
  4. e 显示错误信息
  5. p 显示扫描进度
  6. r 显示重定向信息
  7. c 显示cookie
  8. a 身份认证过程显示出来
  9. q 退出
  10. N 扫描下一个目标
  11. P 暂停扫描

Nikto配合Nmap扫描
Nikto 支持配合 Nmap 进行扫描 ,运行命令nmap -p80 x.x.x.x -oG - |nikto -host -

nmap扫描开放80端口的IP并通过oG选项对扫描结果输出并整理),然后通过管道符“|”将上述扫描结果导入至nikto进行扫描

使用代理扫描
扫描目标时,部分目标部署了防护设备,为避免暴露 ip可以使用代理进行扫描,nikto 支持设置代理,参数是 - useproxy。当然,需要配合其他代理工具(比如proxychains)使用,具体命令如下:

nikto -h URL -useproxy http://127.0.0.1:1080

组件默认密码
nikto官网还发布了各大组件的默认密码,可以访问https://cirt.net/passwords进行查看。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/Uxff5T6V.shtml

相关文章

Nikto 网页服务器扫描器

一、Nikto介绍 Nikto是一款开源的(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件CGIs;超过625种服务器版本;超过230种特定服务器问题。扫描项和插件可以自动…

nmap和nikto扫描

先通过本机的VMware启动Kali攻击机和Metasploitable2靶机 端口扫描 使用 ip addr 或者 ifconfig 先看一下靶机的ip地址 在Kali里面使用 nmap IP 先用默认的方式对靶机进行扫描 事实上nmap的默认扫描方式就是 -sS 也就是SYN扫描,这种扫描方式基于TCP三次握手的前两…

4 | Nikto使用

目录 1 Nikto简介2 部署2.1 下载地址 3 操作参数4 具体使用4.1 扫描单个地址4.2 详细输出4.3 扫描多个地址4.4 使用代理进行扫描4.5 使用LibWhisker绕过IDS的检测(10个参数 1-8、A、B) 1 Nikto简介 发现Web服务器配置错误、插件和Web漏洞,支…

Nikto 扫描

0x00:简介 nikto 是一款用来发现 web 应用程序漏洞的一个工具,扫描的内容大概包括服务器软件的版本,比较版本是否为最新,现版本和最新版的差以及这个版本可能存在的漏洞。会搜索一些存在隐患的文件,例如测试文件,或者是网站备份文件等。也会去扫描服务器的配置漏洞,有没…

Nikto:从零开始到专业版的完整教程

文章目录 [TOC](文章目录) 介绍一、什么是Nikto?二、Nikto工具中的功能Nikto工具中的命令有如何使用Nikto工具?1.安装Nikto2.标准扫描3.对目标SSl或TLS扫描4.扫描特定/多个端口5.忽略某些HTTP代码在这里插入图片描述 结论: 介绍 在这篇文章中…

网络安全——Nikto的使用

一、什么是Nikto Perl:Perl语言是一种解释型的脚本语言。Perl语言由Larry wall于1986年开发成功。当初的目的主要是在Unix环境下,用于处理面向系统任务而设计的脚本编程语言。Perl对文件和字符有很强的处理、变换能力,它特别适用于有关系统管…

Web漏洞扫描神器Nikto使用指南

文章目录 工具简介工具下载链接nikto安装nikto基础语句指定端口进行扫描指定目录进行扫描多目标扫描其他功能扫描结果输出Nikto扫描交互参数IDS 躲避使用代理扫描 后言 工具简介 Nikto是一款开源的(GPL)网页服务器扫描器,它可以对网页服务器…

pageoffice

激活失败,重新激活 输入序列号没有激活,提示当前PageOffice需要获取更高版本的授权才能正常运行 想要重新激活,要删除项目中WEB-INF下的lib中的license.lic文件,才能重新输入序列号 删除以后,出现激活窗口 注意&am…

clientX、pageX、offsetX、screenX、offsetWidth、clientWidth等

文章目录 1、clientX 、clientY2、pageX、pageY注意: clientX和pageX的区别3、offsetX、offsetY4、screenX、screenY5、offsetWidth、offsetHeight 、offsetLeft、offsetTop6、clientWidth、clientHeight、clientLeft、clientTop总结 1、clientX 、clientY documen…

图解鼠标事件的 ScreenX ,LayerX,clientX,PageX,offsetX,X

前言: 完在上一篇文章 🎁如何实现原生 JS 的拖拽效果我中使用到了 MouseEvent 事件对象身上的 clienX 的属性,但同时我也注意到了事件对象身上关于 X 的相关属性还有很多,并且在移动端开发中,这些属性需要频繁的用到&a…

pageX,clientX,offsetLeft,scrollLeft的区别

pageX,clientX,offsetLeft,scrollLeft的区别 1、pageX / pageY pageX / pageY的值为鼠标相对于document的距离,即网页左上角的位置 2、clientX / clientY clientX / clientY的值为鼠标相对于浏览器可视区域左上角的距离 3、offsetLeft / offsetTop offsetLeft …

详细区分offsetX,clientX,pageX,screenX,layerX和X的区别

详细区分DOM事件中鼠标指针的坐标问题 前面博客中我们讲解到了DOM事件的event对象&#xff0c;里边包含了鼠标事件的指针坐标属性。比如event.offsetX,event.clientX,event.pageX,event.screenX等等。现在我们来解析一下这些坐标属性的区别。 HTML代码&#xff1a; <div c…

screenX、client X、pageX、offsetX、layerX

screenX, client X screenX: 鼠标在屏幕中的水平坐标 client X: 鼠标在客户端区域&#xff08;浏览器可视区域&#xff09;的水平坐标&#xff0c;不论页面是否有水平滚动 pageX 相对于整个文档的x&#xff08;水平&#xff09;坐标 个人认为&#xff1a;pageX clientX sc…

Page和PageInfo

Page和PageInfo 两者都能获取到数据&#xff0c;Page是一个ArrayList。 PageInfo是一个对象&#xff0c;能获取到的数据比Page多 如何使用 Page对象 参数解析 private int pageNum; //当前页码 private int pageSize; //每页数据的数量 private int startRow; //始页首行行…

正确使用pageX、pageY、offsetLeft、offsetTop

获取鼠标位置的时候&#xff0c;遇到一点疑问&#xff0c;然后验证了一下自己的疑惑&#xff1b; pageX、pageY跟clientX和clientY类似&#xff0c;是相对于浏览器文档的坐标&#xff1b; offsetLeft、offsetTop获取的是固定定位&#xff0c;也就是说&#xff0c;监听某个选择…

pageX,pageY,screenX,screenY,clientX,和clientY,offsetX ,offsetY,layerX,layerY的使用 和 区别

pageX&#xff0c;pageY&#xff0c;screenX&#xff0c;screenY&#xff0c;clientX&#xff0c;和clientY返回一个数&#xff0c;其指示物理“CSS像素”的数量的点是从参考点。事件点是用户单击的位置&#xff0c;参考点是左上角的一个点。这些属性返回该参考点的水平和垂直距…

clientX,screenX,pageX,offsetX的区别

前言 关于clientX,screenX,pageX,offsetX的区别之前也比较迷糊&#xff0c;然后自己写了几个demo算是弄明白了&#xff0c;在这记录一下。 定义 一、clientX、clientY 点击位置距离当前body可视区域的x&#xff0c;y坐标。 可以理解为距离浏览器窗口的距离&#xff0c;但注意…

clientX、offsetX、screenX、pageX的区别

一、概念总结 1、event.clientX、event.clientY 鼠标相对于浏览器窗口可视区域的X&#xff0c;Y坐标&#xff08;窗口坐标&#xff09;&#xff0c;可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性.clientX指可视区域内离左侧的距离&#xff0c;以滚动条滚…

页面上pageX、offsetLeft等的使用方法

页面上pageX、offsetLeft等的使用方法 pageX: 页面X坐标位置 pageY: 页面Y坐标位置 <script>window.onmousemovefunction(e){// 鼠标移动的时候得到鼠标实时的位置console.log(${e.pageX},${e.pageY});} </script>screenX: 屏幕X坐标位置 screenY: 屏幕Y坐标位置…

【arduino 问题记录】 psram: PSRAM ID read error: 0xffffffff

问题描述&#xff1a;采用ESP32-s将数据通过4G模块发送到阿里云的时候&#xff0c;只要数据一发送&#xff0c;esp32-s就一直重新连接4G模块。 图一中红色框就是我要传输到阿里云的内容&#xff0c;蓝色框显示的就是报错信息&#xff0c;接下来显示的就是一直重新连接&#xff…