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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Nikto漏洞扫描工具检测网站安全相关的知识,希望对你有一定的参考价值。

试试安全软件扫描
打开腾讯电脑管家——工具箱——漏洞修复
可以自动修复漏洞:第一时间发现并修复系统存在的高危漏洞,在不打扰您的情况下自动为系统打上漏洞补丁,轻轻松松将病毒木马拒之门外。自动修复漏洞 电脑管家可以在发现高危漏洞(仅包括高危漏洞,不包括其它漏洞)时,第一时间自动进行修复,无需用户参与,最大程度保证用户电脑安全。
参考技术A

Nikto是基于PERL开发的程序,所以需要PERL环境。Nikto支持Windows(使用ActiveState Perl环境)、Mac OSX、多种Linux 或Unix系统。Nikto使用SSL需要Net::SSLeay PERL模式,则必须在Unix平台上安装OpenSSL。

从官方网站上下载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

也可以通过从网站下载来更新插件和数据库:http://updates.cirt.net/

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
更新插件和数据库

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

web漏洞扫描工具

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

nikto可以扫描软件版本信息,存在安全问题的文件,服务器配置问题,WEB Application层面的安全隐患,避免404误判等

技术分享图片

扫了一下我自己的网站,好多问题。。。有XST攻击(XST是利用XSS和HTTP TRACE方法的组合。),apache的MultiViews利用

MultiViews它遵循以下规则

如果服务器收到/ some / dir / foo的请求,如果/ some / dir启用了MultiViews,并且/ some / dir / foo不存在,那么服务器会读取目录,查找名为foo。*的文件,并且有效伪造一个类型映射,该映射命名所有这些文件,为它们分配相同的媒体类型和内容编码,如果客户端

通过名称请求其中一个文件。然后,它会根据客户的要求选择最佳匹配。

 

命令:

nikto -host http://192.168.1.109/dvwa/           #指定网站目录扫描

nikto -host 192.168.1.1.109 -port 80,443      #可指定多个端口

nikto -host host.txt   #扫描多个IP

nmap -p80 192.168.1.0/24 -oG - | nikto -host -        #结合nmap,对一个网段内开放了80端口的主机进行扫描 

nikto -host https://www.baidu.com -useproxy http://localhost:8087     #使用代理

-vhost  【+域名】   #虚拟IP,区分网站   (适用于一个ip对应多个网站)

 

 nikto配置文件(/etc/nikto.conf)    大部分需要登录进网站,才能进行扫描

       添加指定cookie

 技术分享图片

-id+   #使用http身份认证(但现在很少)格式为  id:password

 

二,BurpSuite,“Scanner”功能用于漏洞扫描,可设置扫描特定页面,自动扫描结束,可查看当前页面的漏洞总数和漏洞明细。虽说也有漏扫功能,但其核心功能不在于此,因此漏扫功能还是不如其他专业漏洞扫描工具。

首先:打开监听模式

点击数据包右键-》do an active on-->弹框点"yes“

技术分享图片

点击Scanner选项,可以查看到扫描出来的漏洞

burpsuit可以扫描如下问题:

服务器配置问题

反射型XSS

Flash跨域策略

SQL注入

未加密通信

跨域引用漏洞

公开电子邮件地址

 

这是扫的我自己的网站

技术分享图片

技术分享图片

 

 

 

三,Nessus,面向个人免费、面向商业收费的形式,不仅扫描Web网站漏洞,同时还会发现Web服务器、服务器操作系统等漏洞。个人用户只需在官网上注册账号即可获得激活码。它是一款Web网站形式的漏洞扫描工具。

============

在线cookie转为字典:https://crdx.org

============

带cookie扫描:https://www.jianshu.com/p/eff3f4e7d2dd

这个好像只能扫描IP地址的,域名没法扫

这个是网页模式的扫描器

技术分享图片

 

 四,owasp(zap)

首先设置代理,工具-》选项

技术分享图片

 

技术分享图片

 

用浏览器浏览网页owasp能捕获,在

技术分享图片

参考链接:https://www.fujieace.com/kali-linux/owasp-zed-zap.html

https://blog.csdn.net/qq_36119192/article/details/84109721

这两个写的很详细,我用KALI启用了owasp,但和作者的有些不一样,我没有扫描策略里的那么多选项,在主动扫描里也没有那么多选项,其他都是一样的

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++

 

反序列化漏洞形成(   serialize(),unserialize()   )

很容易理解的解释连接:https://www.freebuf.com/articles/web/167721.html

解释反序列话要先解释序列化的意思,序列化是把对象转换位字符串保存,减少系统资源的浪费;反序列化就是把保存了的字符串反序列化为对象;

反序列化漏洞的形成:服务器能够接收我们反序列化过的字符串、并且未经过滤的把其中的变量直接放进这些魔术函数里面的话,就容易造成很严重的漏洞了;

比如在url上构造反序列化的payload

魔法函数

__construct()当一个对象创建时被调用

__destruct()当一个对象销毁时被调用

__toString()当一个对象被当作一个字符串使用

__sleep() 在对象在被序列化之前运行

__wakeup将在序列化之后立即被调用

 

 怎么找到反序列化漏洞?  网址:https://www.test404.com/post-1106.html?wafcloud=1

Composer,这是一个php的包管理工具,同时他还能自动导入所以依赖库中定义的类。这样一来 unserialize() 函数也就能使用所有依赖库中的类了,攻击面又增大不少。

1.Composer配置的依赖库存储在vendor目录下

2.如果要使用Composer的自动类加载机制,只需要在php文件的开头加上 require __DIR__ . ‘/vendor/autoload.php‘;

漏洞发现技巧

默认情况下 Composer 会从 Packagist下载包,那么我们可以通过审计这些包来找到可利用的 POP链。

PHP链的基本思路.

1.在各大流行的包中搜索 __wakeup() 和 __destruct() 函数.

2.追踪调用过程

3.手工构造 并验证 POP 链

4.开发一个应用使用该库和自动加载机制,来测试exploit.

构造exploit的思路

1.寻找可能存在漏洞的应用

2.在他所使用的库中寻找 POP gadgets

3.在虚拟机中安装这些库,将找到的POP链对象序列化,在反序列化测试payload

4.将序列化之后的payload发送到有漏洞web应用中进行测试.

++++++++++++++++++++++++++++++++++++++

CMS漏洞检测工具 – CMSmap

连接:https://www.freebuf.com/sectool/58022.html

cms常见漏洞收集:https://www.alibabacloud.com/help/zh/faq-list/60798.htm?spm=a2c63.o282931.a1.5.6f8450a91NXShi

  php类cms系统

dedecms、帝国cms、php168、phpcms、cmstop、discuz、phpwind等

  asp类cms系统

zblog、KingCMS等

  .net类cms系统

EoyooCMS等

  国外的著名cms系统

joomla、WordPress 、magento、drupal 、mambo。

 

以上是关于如何使用Nikto漏洞扫描工具检测网站安全的主要内容,如果未能解决你的问题,请参考以下文章

下载漏洞扫描工具Nikto

小白学习安全测试——扫描工具-Nikto使用

十大Web网站漏洞扫描工具

mac下都有哪些web网站漏洞扫描的工具?

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

常见的安全扫描漏洞的工具漏洞分类及处理