Introduction

Nikto是一款开源的(GPL)网站服务器扫描器,使用Perl基于LibWhisker开发。它可以对网站服务器进行全面的多种扫描,包括6400多个潜在危险的文件/CGI,检查1200多个服务器版本以及270多个服务器上的特定于版本的问题。它还会检查服务器配置项,例如是否存在多个索引文件,HTTP服务器选项,并将尝试识别已安装的Web服务器和软件。扫描项目和插件会经常更新,并且可以自动更新。

Command

1.普通扫描

nikto -h <IP or hostname>

Nikto能够进行扫描SSL和端口443(HTTPS网站使用的端口)(HTTP默认使用端口80)。因此,我们可以扫描使用了SSL的网站。

nikto -h <IP or hostname> -ssl

其实不必指定443端口使用ssl,nikto首先使用HTTP规则,如果失败,接着尝试HTTPS规则。当然,指定-ssl能省去不必要的步骤,节省扫描时间。

同时,nikto也支持多域名/IP扫描,写入到txt文件中,一行一个。

nikto -h host.txt

2.扫描指定端口

nikto -h xx.xx.xx.xx -p 80       #对80端口的扫描

3.与Metasploit配对扫描

Nikto可以将信息导出为Metasploit在执行扫描时可以读取的格式。只需使用上面的命令来执行扫描,但将-Format msf +附加到它的末尾。该格式可以帮助我们使用漏洞库快速配检索数据。

nikto -h -Format msf+

4.目录猜解

-C 扫描CGI目录

nikto -h 192.168.3.111 -C all     # all表示猜解CGI目录

5.漏洞扫描

-T选项包含的小选项解释:

0 检查文件上传页面

1 检查web日志

2 检查错误配置或默认文件

3 检查信息泄露问题

4 检查XSS/Script/HTML问题

5 从根目录检查是否存在可访问的文件

6 检查拒绝服务问题

7 从任意文件检索是否存在可访问文件

8 检查是否存在系统命令执行漏洞

9 检查SQL注入漏洞

a 检查认证绕过问题

b 识别安装的软件版本

c 检查源代码泄露问题

x 反向链接选项

6.使用指定代理扫描

nikto -h localhost -useproxy

代理在nikto.conf文件中配置,也可以在命令行设置

nikto -h localhost -useproxy http://localhost:8080/

7.查看插件

nikto -list-plugins     #列出可运行的插件

8.选择插件运行

nikto -Plugins

9.更新插件和数据库

nikto -update

10.仅用来发现HTTP和HTTPS端口,而不执行检测规则

nikto -findonly

11.控制nikto的输出显示

nikto -Display 3

1 显示重定向

2 显示收到的cookie

3 显示200/OK响应

4 显示需要认证的URLs

D debug信息

E 所有的HTTP ERROR

P 打印进度到stdout

V verbose output

12.IDS逃避技术

nikto -evasion

常用的参数:

1 随机的URI编码(no-UTF8)

2 Directory self-reference (/./)

3 Premature URL ending

4 Prepend long random string

5 Fake parameter

6 TAB as request spacer

7 Change the case of the URL

8 Use Windows directory separator ()

A Use a carriage return (0x0d) as a request spacer

B Use binary value 0x0b as a request spacer

13.指定检测报告输出文件的格式

nikto -Format <csv/txt/html/msf/xml>   #默认是txt文件格式

如果没有定义,会根据-o(-output)的文件的后缀确定


详情见:使用手册

Nikto使用方法的更多相关文章

  1. NIKTO介绍及使用方法

    1.    NIKTO:perl语言开发的开源WEB安全扫描器:识别网站软件版本:搜索存在安全隐患的文件:检查服务器配置漏洞:检查WEB Application层面的安全隐患:避免404误判(原因:很 ...

  2. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  3. Web开发常见的几个漏洞解决方法 (转)

    基本上,参加的安全测试(渗透测试)的网站,可能或多或少存在下面几个漏洞:SQL注入漏洞.跨站脚本攻击漏洞.登陆后台管理页面.IIS短文件/文件夹漏洞.系统敏感信息泄露. 1.测试的步骤及内容 这些安全 ...

  4. Nikto主动扫描神器!!!

    Perl语言开发的开源web安全扫描器 Nikto只支持主动扫描:可扫描web服务器类型是不是最新版本(分析先版本与新版相比有哪些漏洞) 针对:1.软件版本.2.搜索存在安全隐患的文件.3.服务器配置 ...

  5. Web开发常见的几个漏洞解决方法

    http://www.cnblogs.com/wuhuacong/archive/2013/04/15/3022011.html 如何利用SQL注入漏洞攻破一个WordPress网站 平时工作,多数是 ...

  6. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  7. 【.net 深呼吸】细说CodeDom(6):方法参数

    本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...

  8. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  9. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

随机推荐

  1. requests模块使用二

    1.cookies和session 1.1.什么是cookie和session? cookie是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据. session(会话)起来本含义是指有始有 ...

  2. shell编程学习之使用jq对json数据进行提取

    shell编程学习之使用jq对json提取 jq命令允许直接在命令行下对JSON进行操作,包括分片.过滤.转换等 ,jq是用C编写,没有运行时依赖,所以几乎可以运行在任何系统上.预编译的二进制文件可以 ...

  3. Consider defining a bean named 'authenticator' in your configuration.

    SpringBoot整合Shiro时出错: 异常日志: o.s.b.d.LoggingFailureAnalysisReporter: *************************** APPL ...

  4. 给bootstrap-sweetalert弹框的按钮绑定事件

    一. sweetalert cdn使用 sweetalert提供了很多的炫酷弹框,有很多的用法.关于本地导入使用sweetalert的方法,在之前的博客里提到过(点击前往),不过我们也可以使用cdn. ...

  5. Python第五章-内置数据结构04-字典

    Python 内置的数据结构 四.字典(dict) 字典也是 python 提供给我们的又一个非常重要且有用的数据结构. 字典在别的语言中有时叫关联数组.关联内存.Map等. 字典中存储的是一系列的k ...

  6. TensorFlow 基本变量定义,基本操作,矩阵基本操作

    使用 TensorFlow 进行基本操作的实例,这个实例主要是使用 TensorFlow 进行了加法运算. 包括使用 constant 常量进行加法运算和使用 placeholder 进行变量加法运算 ...

  7. 二、sudo su root 和sudo su -的区别

    1.使用sudo su root可以快速切换为root用户,输入密码后输pwd可以看到它还是在主目录下即/home/sdbi 显示为:用户名@主机名:/home/sdbi#即root@linux:/h ...

  8. javascript创建函数的方法

    函数对任何语言来说都是一个核心的概念.函数,是一种封装(将一些语句,封装到函数里面). 通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行. ECMAScript中的函数使用funct ...

  9. 《java编程思想》一切都是对象

    1. 用引用操纵对象 在Java中一切皆对象,我们平常在对java中的类进行操作时,其实操作的不是对象本身而是对象的引用.我们可以将这想象成用遥控器(引用)操作电视机(对象),只要握住这个遥控器,就能 ...

  10. HashCode()与equals()深入理解

    1.hashCode()和equals()方法都是Object类提供的方法, hashCode()返回该对象的哈希码值,该值通常是一个由该对象的内部地址转换而来的int型整数, Object的equa ...