Nikto使用方法
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使用方法的更多相关文章
- NIKTO介绍及使用方法
1. NIKTO:perl语言开发的开源WEB安全扫描器:识别网站软件版本:搜索存在安全隐患的文件:检查服务器配置漏洞:检查WEB Application层面的安全隐患:避免404误判(原因:很 ...
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- Web开发常见的几个漏洞解决方法 (转)
基本上,参加的安全测试(渗透测试)的网站,可能或多或少存在下面几个漏洞:SQL注入漏洞.跨站脚本攻击漏洞.登陆后台管理页面.IIS短文件/文件夹漏洞.系统敏感信息泄露. 1.测试的步骤及内容 这些安全 ...
- Nikto主动扫描神器!!!
Perl语言开发的开源web安全扫描器 Nikto只支持主动扫描:可扫描web服务器类型是不是最新版本(分析先版本与新版相比有哪些漏洞) 针对:1.软件版本.2.搜索存在安全隐患的文件.3.服务器配置 ...
- Web开发常见的几个漏洞解决方法
http://www.cnblogs.com/wuhuacong/archive/2013/04/15/3022011.html 如何利用SQL注入漏洞攻破一个WordPress网站 平时工作,多数是 ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
随机推荐
- 2020年Java基础高频面试题汇总(1.4W字详细解析)
1. Java语言有哪些特点 (1)简单易学.有丰富的类库 (2)面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) (3)与平台无关性(JVM是Java跨平台使用的根本) (4)可靠安全 ...
- mysql字段数据类型、设置严格模式
表操作 今日内容 1.数据类型 建表的时候,字段都有对应的数据类型 整型 浮点型 字符类型(char与varchar) 日期类型 枚举与集合 2.约束条件 primary key unique key ...
- CSS躬行记(1)——CSS基础拾遗
一.box-decoration-break CSS3新增的box-decoration-break属性可指定行内非替换元素在跨行.跨列或跨页时的样式渲染,它包含两个值: (1)slice:默认值,盒 ...
- mysql事务提交和回滚机制
应用场景: 银行取钱,从ATM机取钱,分为以下几个步骤 1 登陆ATM机,输入密码: 2 连接数据库,验证密码: 3 验证成功,获得用户信息,比如存款余额等: 4 用 ...
- 为什么要在离线A/B测试中使用贝叶斯方法
当涉及到假设检验时,贝叶斯方法可以取代经典的统计方法.这里将使用web分析的具体案例来演示我们的演示. 贝叶斯方法在经典统计中的重要性在此链接. https://towardsdatascience. ...
- SpringBoot,SpringMvc, SpringCloud
1,SpringBoot VS SpringMvc VS SpringBoot SpringBoot: SpringBoot 是一个快速开发的框架,能够快速的整合第三方框架,简化XML配置,全部采用注 ...
- Java系列之数组
原文首发于微信公众号:jzman-blog,欢迎关注交流! 本来打算温习一下注解方面的内容作为今天的推送,但是来不及写了,那就一起来看一下数组,数组是用来存放一组具有相同类型数据的数据结构,通过下标来 ...
- Java多线程工具类之循环栅栏计数器
Java多线程下循环计数器 本文主要内容:CyclicBarrier(下文中凯哥就用cycBar来代替)定义介绍:举例说明:代码演示:从源码来看原理及总结:CyclicBarrier与CountDow ...
- node.js模拟学校教务处登录
临近毕业,在做毕设,我的毕设中有一个功能是模拟我学校的教务处登录以获得cookie,本来以为是挺简单的一个功能,但却花了我两天的时间.(我学校教务处用的是湖南强智科技开发的) 在网上搜了大量的模拟登录 ...
- php静态变量的运用
<?php $count = 5; function get_count() { static $count = 0; return $count++; } echo $count; echo ...