web扫描工具-nikto介绍与使用

-wenli -wenli     2023-01-06     180

关键词:

Nikto
Perl语言开发的开源Web安全扫描器


web扫描模式:
截断代理
主动扫描


可以扫描的方面:
软件版本
搜索存在安全隐患的文件
服务器配置漏洞
WEB Application层面的安全隐患
避免404误判
-很多服务器不尊从RFC标准,对于不存在的对象返回200响应码
-依据响应文件内容判断,不同扩展名的文件404响应内容不同
-去除时间信息后的内容取MD5
-no404(考虑速度的话,)

 

1.Nikto 简单使用
2.Nikto-interactive(交互方式)
3.设置使用 cookie 自动登录扫描
4.使用 LibWhisker 中对 IDS 的躲避技术

 


1.简单使用

a 最基本的nikto扫描只需要指定目标的host(通过 -host 参数指定),也可以指定要扫描的端口号(通过 -port 来指定),默认是80,output是输出这个文件
nikto -host ip -port 80

nikto -host ip -ssl -port 443

nikto -host ip -port 80 -output


b 多端口扫描
扫描80,88,443三个端口

nikto -host ip -port 80,88,443


nikto -host ip -ssl -port 80,88,443

扫描80~90共10个端口

nikto -host ip -p 80-90

 

c 多host扫描
-h 参数的值为一个文件,该文件存一系列的host或者ip。

文件的格式要求是:每个host必须占一行,端口号放行末,端口号通过冒号或者逗号和host其他端口号区分开
文件示例:
192.168.0.1:80

http://192.168.0.1:8080
192.168.0.3:80

nikto -host host.txt


d 和nmap结合使用,将 nmap 发现的主机进行扫描

nmap -p80 192.168.1.0/24 -oG - | nikto -host -


e 支持代理
nikto -host ip -usertproxy url

 

 

 


2.Nikto-interactive(交互方式)

在扫描的过程中敲下按键,即可打开开关


按一次为打开开关,再按一次为关闭

Space – report current scan status

v – verbose mode on/off
//显示正在扫描的内容详细信息


d – debug mode on/off
//更详细的扫描内容信息


e – error reporting on/off

//查看扫描过程中错误的信息


p – progress reporting on/off
//查看扫描的进度


r – redirect display on/off
//把所有的重定向显示出来


c – cookie display on/off

//把所有COOKIE显示出来


a – auth display on/off

//把身份认证的过程显示出来


q – quit

//退出扫描


N – next host

//停止这个地址的扫描,扫描host列表的下一个


P - Pause

//暂停

 

 


3.设置使用 cookie 自动登录扫描


第一种:基于HTTP身份认证
现在使用基于HTTP做身份验证的网站很少,这种方式更多应用于嵌入式设备,更多网站基于表单做身份验证。

使用id参数
id 主机使用的身份验证,格式是 ID:密码 或 ID:密码:域

 

第二种:使用 cookie 自动登录扫描

我们需要把cookie设置到配置文件
配置文件位置: /etc/nikto.conf

 


a 配置文件默认使用 Nikto 的 User Agent,更改为 IE8 或其他


[email protected]:~# vim /etc/nikto.conf

#USERAGENT=Mozilla/5.00 (Nikto/@VERSION) (Evasions:@EVASIONS) (Test:@TESTID)

USERAGENT=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
# 17行

# 更换为 IE8:单击 User-Agent-Swicher,选择并复制其中的UA值

 

 


b 配置默认 cookie


# "cookie1"="cookie value";"cookie2"="cookie val"

STATIC-COOKIE="PHPSESSID"="31ce7cd539ed93f182d7881460fe0def";"security"="high"
# 57行

 

 


c 使用修改过配置文件的 nikto 进行扫描,扫描过程中按 d 进行 debug 模式,进行验证配置信息

[email protected]:~# nikto -host http://172.16.10.133/dvwa -port 80

 

 

4. 使用 LibWhisker 中对 IDS 的躲避技术
# -evasion
Specify the LibWhisker IDS evasion technique to use (see the LibWhisker docs for detailed information on
these). Use the reference number to specify the type, multiple may be used:

1 - Random URI encoding (non-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 ()

# -evasion 使用 LibWhisker 中对 IDS 的躲避技术,可使用以下几种类型:

1 随机 URL 编码(非 UTF-8 方式)

2 自然选择路径 (/./)

3 过早的结束URL

4 优先考虑长随机字符串

5 参数欺骗

6 使用 TAB 作为命令的分隔符

7 使用变化的 URL

8 使用 windows 路径风额度 ""

例子:nikto -host http://172.16.10.133/dvwa -evasion 167

 

 

nikto 参数
Nikto 是一个比较全面的网页扫描器。

选项:
-ask+ Whether to ask about submitting updates yes Ask about each (default)
no Don‘t ask, don‘t send
auto Don‘t ask, just send
-Cgidirs+ 扫描这些CGI目录: "none", "all", or values like "/cgi/ /cgi-a/"
-config+ 使用指定的config文件来替代安装在本地的config.txt文件


-Display+ Turn on/off display outputs:
1 显示重定向
2 显示接受 cookie
3 显示所有200/OK响应
4 显示要求验证的 URL
D 调试输出
E 显示所有HTTP错误 P 打印处理进度到STDOUT
S 格式输出IP地址和主机名
V 详细输出


-dbcheck Check database and other key files for syntax errors

 

-evasion+ 编码技术: 该选项能够对扫描包进行一些变形,绕过IDC检测。可使用以下几种类型:
1 随机URI编码 (non-UTF8)
2 使用相对路径作为参考 (/./)
3 Premature URL ending 虚假的请求结束
4 Prepend long random string 长的URL请求
5 隐藏参数
6 使用 TAB 作为命令的分隔符
7 大小写敏感
8 使用Windows路径分隔符替换

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

B Use binary value 0x0b as a request spacer

 


-Format+ Save file (-o) format:
csv 逗号分隔值
htm HTML格式
nbe Nessus的NBE格式
sql Generic SQL (see docs for schema)
txt 文本(默认情况下,如果没有指定)
xml XML格式
(if not specified the format will be taken from the file extension passed to -output)


-Help 帮助
-host+ 目标主机
-404code Ignore these HTTP codes as negative responses (always). Format is "302,301".
-404string Ignore this string in response body content as negative response (always). Can be a regular expression.
-id+ 主机使用的身份验证,格式是 ID:密码 或 ID:密码:领域
-key+ Client certificate key file
-list-plugins 列出所有可用的插件,不执行测试
-maxtime+ 每个主机的最大测试时间 (e.g., 1h, 60m, 3600s)


-mutate+ 猜额外的文件名。变化猜测技术:
1 测试所有的文件,所有的根目录
2 猜测密码文件名
3 通过Apache枚举用户名(/~user type requests)
4 通过cgiwrap枚举用户名(/cgi-bin/cgiwrap/~user type requests)
5 试暴力破解子域名,假设主机名称是父域名
6 尝试使用从提供的字典文件的目录名称


-mutate-options Provide information for mutates
-nointeractive 禁用交互特性
-nolookup 禁止DNS查找
-nossl 禁止使用SSL
-no404 禁用Nikto尝试猜测404页
-Option Over-ride an option in nikto.conf, can be issued multiple times
-output+ Write output to this file (‘.‘ for auto-name)
-Pause+ 测试之间的停顿(秒,整数或浮点数)
-Plugins+ 列出正在运行的插件(默认:ALL)
-port+ 要使用的端口(默认80)
-RSAcert+ Client certificate file
-root+ 前面加上root值到所有请求,格式为/目录
-Save Save positive responses to this directory (‘.‘ for auto-name)
-ssl 强制SSL端口模式


-Tuning+ 扫描选项: 选项控制Nikto使用不同的方式来扫描目标。
1 日志文件
2 默认文件
3 信息泄漏
4 注入 (XSS/Script/HTML)
5 远程文件检索 - Inside Web Root
6 拒绝服务
7 远程文件检索 - Server Wide
8 执行命令 / 远程shell
9 SQL 注入
0 文件上传
a 认证绕过
b 软件关联
c Remote Source Inclusion
d WebService
e Administrative Console
x 反向连接选项 (i.e., include all except specified)


-timeout+ 请求超时时间 (默认 10 秒)
-Userdbs Load only user databases, not the standard databases
all Disable standard dbs and load only user dbs
tests Disable only db_tests and load udb_tests
-useragent Over-rides the default useragent
-until Run until the specified time or duration
-update 从 CIRT.net 更新 数据库 和 插件
-useproxy 使用在 nikto.conf 定义的代理, 或者 使用参数 http://server:port
-Version 打印插件和数据库版本
-vhost+ 虚拟主机(用于主机头)
+ requires a value

 




























































































































































































nikto

...用参数:-host utl/ip/host.txt -port端口 -ssl<是否使用ssl> -useproxy代理地址-可用管道符将其他扫描器的结果作为目标 在扫描期间按以下按键有相应的效果Space–reportcurrentsc 查看详情

如何使用nikto漏洞扫描工具检测网站安全

...基于PERL开发的程序,所以需要PERL环境。Nikto支持Windows(使用ActiveStatePerl环境)、MacOSX、多种Linux或Unix系统。Nikto使用SSL需要Net::SSLeayPERL模式,则必须在Unix平台上安装OpenSSL。从官方网站上下载nikto-current.tar.gz文件,在Linux系统解... 查看详情

web漏洞扫描工具(批量破壳反序列化cms)?

web漏洞扫描工具一,Nikto,一款开源软件,不仅可用于扫描发现网页文件漏洞,还支持检查网页服务器和CGI的安全问题。它支持指定特定类型漏洞的扫描、绕过IDC检测等配置。该工具已集成于KaliLinux系统。nikto可以扫描软件版本... 查看详情

appscan发现的sql漏洞怎么利用

扫描网站漏洞是要用专业的扫描工具,下面就是介绍几种工具1.Nikto  这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目进行全面的测试。其扫描项目和插件经常更新并且可以自动更新。Nikto可以在尽可能短的周... 查看详情

linux——信息收集nikto网页服务器扫描器

Nikto是一种开源的网页服务器扫描器,全面地扫描服务器,包含:3300种有潜在危险的文件CGIs;超过625种服务器版本;超过230种特定服务器问题。nikto-hostwww.smatrix.orgnikto-hostwww.ecjtu.jx.cn-p80nikto-Hcurl-lwww.ecjtu.jx.cn>1.txt [curl是一... 查看详情

常见的安全扫描漏洞的工具漏洞分类及处理(代码片段)

一、扫描网站漏洞是要用专业的扫描工具,下面就是介绍几种工具Nikto这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目进行全面的测试。其扫描项目和插件经常更新并且可以自动更新。Nikto可以在尽可能... 查看详情

web安全漏洞扫描与处理(上)——安全漏洞扫描工具appscan的安装使用

...司对软件会有安全的要求,一般测试公司会使用安全漏洞扫描工具对软件进行漏扫,然后给出安全报告,然后软件开发人员会根据提供的安全报告进行漏洞的处理。我们接触到的测评公司,使用的是漏洞扫描工具AppScan,这里介... 查看详情

几款常见web扫描器的简要记录

...扫描分两种:一种是主动扫描,一种是截断代理 三、扫描工具*Nikto(弱点扫描,输出结果全部为弱点项)perl语言开发的开源web安全扫描器扫描软件版本搜 查看详情

web漏洞扫描工具都有哪些

1、Nexpose:跟其他扫描工具不同的是,它的功能十分强大,可以更新漏洞数据库,也可以看出哪些漏洞可以被MetasploitExploit,可以生成非常详细、强大的Report,涵盖了很多统计功能和漏洞的详细信息。2、OpenVAS:类似Nessus的综合型... 查看详情

nikto帮助信息

...扫描这些CGI目录:"none","all",或像这样的值"/cgi//cgi-a/"-config+使用此配置文件-Display+打开/关闭显示输出:1显示重定向2显示接收的Cookie3显示所有200/OK响应4显示需要认证的URLD调试输出E显 查看详情

结合工程实践选题调研分析同类软件产品

...种抓包软件,web扫描以及各种web在线工具。像相关的安全扫描工具如Nikto、Parosproxy、webscarab等,如Nikto,这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI,以及超过900个服务器版本... 查看详情

冲击红队第一天-web安全介绍与基础入门

...违法操作!!!今天更新的是:冲击红队第一天-Web安全介绍与基础入门微信公众号回复:【学习笔记】,即可获取本文全部涉及到的工具。创建时间:2021年7月31日软件:MindMasterPro、语雀冲击红队第一天-Web安全介绍与基础入门... 查看详情

如何从 PHP 脚本与 python 守护进程通信

...描。我已经用PHP编写了页面,但我需要控制后续的进程(使用nohup生成并使用&作为背景),因为一旦扫描完成,我需要执行各种 查看详情

ajax--express框架介绍与基本使用(代码片段)

Express官网:1.express框架介绍与基本使用express是基于Node.js平台,快速、开放、极简的Web开发框架1.1创建一个Express的包1.2打开终端1.3执行npminit--yes做一个初始化npm是Node.js平台下面的一个包管理工具1.4安装Express框架执行npmie... 查看详情

当我尝试将 qr 扫描与 Web 视图一起使用时,Android 崩溃

】当我尝试将qr扫描与Web视图一起使用时,Android崩溃【英文标题】:AndroidcrasheswhenItrytouseqrscanningwithawebview【发布时间】:2021-06-1822:02:08【问题描述】:我尝试将qr_code_scanner的二维码扫描器与webview_flutter的Webview组件结合使用。在i... 查看详情

web安全入门与靶场实战二-网站扫描工具

...主要目的是试图发现网站中的敏感文件或敏感目录,这类扫描工具的原理都差不多,基本上都是基于字典对网站的敏感文件或敏感目录进行扫描,并通过返回的HTTP响应状态码来判断目标是否存在。扫描工具的速度主要与所使用... 查看详情

web开发基础http协议的通信过程与请求/响应报文(代码片段)

...2.查看HTTP协议的通信过程3.小结HTTP请求报文1.HTTP请求报文介绍2.HTTPGET请求报文分析3.HTTPPOST请求报文分析4.小结HTTP响应报文1.HTTP响应报文分析2.HTTP状态码介绍3.小结查看HTTP协议的通信过程学习目标能够使用谷歌浏览器的开发者工... 查看详情

node.js介绍与安装

开始node.js的学习之路。我是一个node菜鸟,总结自己的学习过程,和大家一起学习,有什么不对的地方,还请指正!1.为什么使用node.js?  node.js的首要目标是提供一种简单、用于创建高性能服务器及可在该服务器中运行的各种... 查看详情