如何使用Nikto漏洞扫描工具检测网站安全-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

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

简介:

Nikto是一款开放源代码的、功能强大的WEB扫描评估软件,能对web服务器多种安全项目进行测试的扫描软件,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题,它可以扫描指定主机的WEB类型、主机名、特定目录、COOKIE、特定CGI漏洞、返回主机允许的 http模式等等。它也使用LibWhiske库,但通常比Whisker更新的更为频繁。Nikto是网管安全人员必备的WEB审计工具之一。
  Nikto最新版本为2.0版,可以去官方下载
  Nikto是基于PERL开发的程序,所以需要PERL环境。Nikto支持Windows(使用ActiveState Perl环境)、Mac OSX、多种Linux 或Unix系统。Nikto使用SSL需要Net::SSLeay PERL模式,则必须在Unix平台上安装OpenSSL。具体的可以参考nikto的帮助文档。
  从官方网站上下载nikto-current.tar.gz文件,在Linux系统解压操作:
  tar -xvf nikto-current.tar.gz
  gzip -d nikto-current.tar
  解压后的结果如下所示:
  Config.txt、docs、kbase、nikto.pl、plugins、 templates
  Nikto的使用说明:
  Nikto扫描需要主机目标IP、主机端口。默认扫描的是80端口。扫描主机目标IP地址可以使用选项-h(host)。下面将扫描IP为192.168.0.1的TCP 80端口,如下所示:
  perl nkito.pl –h 192.168.0.1
  也可以自定义扫描的端口,可以使用选项-p(port),下面将扫描IP为192.168.0.1的TCP 443端口,如下所示:
  perl nikto.pl –h 192.168.0.1 –p 443
  Nikto也可以同时扫描多个端口,使用选项-p(port),可以扫描一段范围(比如:80-90),也可以扫描多个端口(比如:80,88,90)。下面扫描主机的80/88/443端口,如下所示:
  Perl nikto.pl –h 192.168.0.1 –p 80,88,443
  如果运行Nikto的主机是通过HTTP proxy来访问互联网的,也可以使用代理来扫描,使用选项-u(useproxy)。下面将通过HTTP proxy来扫描,如下所示:
  Perl nikto.ph –h 192.168.0.1 –p 80 –u
  Nikto的更新:
  Nikto的升级可以通过-update的命令来更新插件和数据库,如下所示:
  Perl nikto.ph –update
  也可以通过从网站下载来更新插件和数据库:[url]http://updates.cirt.net/[/url]
  Nikto的选项说明:
  -Cgidirs
  扫描CGI目录。
  -config
  使用指定的config文件来替代安装在本地的config.txt文件
  -dbcheck
  选择语法错误的扫描数据库。
  -evasion
  使用LibWhisker中对IDS的躲避技术,可使用以下几种类型:
  1.随机URL编码(非UTF-8方式)
  2.自选择路径(/./)
  3.虚假的请求结束
  4.长的URL请求
  5.参数隐藏
  6.使用TAB作为命令的分隔符
  7.大小写敏感
  8.使用Windows路径分隔符替换/
  9.会话重组
 -findonly
  仅用来发现HTTP和HTTPS端口,而不执行检测规则
  -Format
  指定检测报告输出文件的格式,默认是txt文件格式(csv/txt/htm)
  -host
  目标主机,主机名、IP地址、主机列表文件。
  -id
  ID和密码对于授权的HTTP认证。格式:id:password
  -mutate
  变化猜测技术
  1.使用所有的root目录测试所有文件
  2.猜测密码文件名字
  3.列举Apache的用户名字(/~user)
  4.列举cgiwrap的用户名字(/cgi-bin/cgiwrap/~user)
  -nolookup
  不执行主机名查找
  -output
  报告输出指定地点
  -port
  扫描端口指定,默认为80端口。
  -Pause
  每次操作之间的延迟时间
  - Display
  控制Nikto输出的显示
  1.直接显示信息
  2.显示的cookies信息
  3.显示所有200/OK的反应
  4.显示认证请求的URLs
  5.Debug输出
  -ssl
  强制在端口上使用SSL模式
  -Single
  执行单个对目标服务的请求操作。
  -timeout
  每个请求的超时时间,默认为10秒
  -Tuning
  Tuning 选项控制Nikto使用不同的方式来扫描目标。
  0.文件上传
  1.日志文件
  2.默认的文件
  3.信息泄漏
  4.注射(XSS/Script/HTML)
  5.远程文件检索(Web 目录中)
  6.拒绝服务
  7.远程文件检索(服务器)
  8.代码执行-远程shell
  9.SQL注入
  a.认证绕过
  b.软件关联
  g.属性(不要依懒banner的信息)
  x.反向连接选项
  -useproxy
  使用指定代理扫描
  -update
  更新插件和数据库
  例子:使用Nikto扫描目标主机10.0.0.12的phpwind论坛网站。
  Perl nikto.pl –h 10.0.0.12 –o test.txt
  通过上面的扫描结果,我们可以发现这个Phpwind论坛网站,是在windows操作系统上,使用Apache/2.2.4版本,Php/5.2.0版本,以及系统默认的配置文件和路径等。
  综上所述,Nikto工具可以帮助我们对Web的安全进行审计,及时发现网站存在的安全漏洞,对网站的安全做进一步的扫描评估。

最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: