使用Nikto漏洞扫描工具检测网站安全
Nikto是一款开放源代码的、功能强大的WEB扫描评估软件,能对web服务器多种安全项目进行测试的扫描软件,能在230多种服务器上扫描出2600多种有潜在危险的文件、CGI及其他问题,它可以扫描指定主机的WEB类型、主机名、特定目录、COOKIE、特定CGI漏洞、返回主机允许的http模式等等。它也使用LibWhiske库,但通常比Whisker更新的更为频繁。Nikto是网管安全人员必备的WEB审计工具之一。需要有perl语言环境。
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
更新插件和数据库
执行./nikto.pl -h 192.168.1.10
- ***** SSL support not available (see docs for SSL install instructions) *****
---------------------------------------------------------------------------
- Nikto 2.02/2.03 - cirt.net
+ Target IP: 192.168.1.10
+ Target Hostname: 192.168.1.10
+ Target Port: 80
+ Start Time: 2008-07-32 13:16:17
---------------------------------------------------------------------------
+ Server: Apache-Coyote/1.1
- Root page / redirects to: http://192.168.1.10:80/manage/html/ff808181126bebda01126bec4dd03245/index.html
- Allowed HTTP Methods: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS
+ OSVDB-397: HTTP method ('Allow' Header): 'PUT' method could allow clients to save files on the web server.
+ OSVDB-5646: HTTP method ('Allow' Header): 'DELETE' may allow clients to remove files on the web server.
+ OSVDB-877: HTTP method ('Allow' Header): 'TRACE' is typically only used for debugging and should be disabled. This message does not mean it is vulnerable to XST.
+ OSVDB-39272: /favicon.ico file identifies this server as: Apache Tomcat
+ OSVDB-0: GET /examples/servlets/index.html : Apache Tomcat default JSP pages present.
+ OSVDB-3233: GET /admin/ : Tomcat is installed, however the administration package does not appear to be.
+ OSVDB-3720: GET /examples/jsp/snp/snoop.jsp : Displays information about page retrievals, including other users.
+ OSVDB-3092: GET /admin/ : This might be interesting...
+ OSVDB-3268: GET /docs/ : Directory indexing is enabled: /docs
+ OSVDB-6659: GET /DC3awyw0LYJsjbAO0zrpJkklD9WCP2ZM6tXxB5WVWcjm2F9vbK0OgW3j5LGNYuVLiREjvljozcH9alAHvv0ZksNBRgu2wRId9Qvo3KEy4rf7SyOUgNDSHFCbl5dwM5zXrZ9N6V5J4of5uHHWSsNg7kLoGPKJQvY39OSSqeKLTszBcpWyOC91M6F9enkUVxu0S6vWwCTFAf6nSq5SPp0sXulkPuER4LFuD<font%20size=50>DEFACED<!--//-- : MyWebServer 1.0.2 is vulnerable to HTML injection. Upgrade to a later version.
+ 2967 items checked: 11 item(s) reported on remote host
+ End Time: 2008-07-32 13:16:37 (20 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested