Nikto 是一个功能强大的开源 Web 服务器扫描器,能够检测出 Web 服务器中的常见漏洞和配置错误。下面是如何安装和使用 Nikto 的步骤。
安装 Nikto
在 Ubuntu 22.04 上安装 Nikto:
sudo apt update
sudo apt install nikto
使用 Nikto 进行扫描
-
基本扫描:
使用 Nikto 扫描一个 Web 服务器,执行以下命令:
nikto -h <目标网址或IP地址>
示例:
nikto -h www.example.com
-
扫描指定端口:
如果 Web 服务器运行在非默认端口上,可以指定端口进行扫描:
nikto -h <目标网址或IP地址> -p <端口号>
示例:
nikto -h www.example.com -p 8080
-
输出结果到文件:
可以将扫描结果保存到文件中以便稍后查看:
nikto -h <目标网址或IP地址> -o <输出文件名> -F <输出格式>
其中
<输出格式>
可以是txt
,csv
,htm
,nbe
等格式。示例:
nikto -h www.example.com -o scan_results.txt -F txt
-
使用 SSL 扫描:
如果目标网站使用 HTTPS,可以使用
-ssl
选项:nikto -h <目标网址或IP地址> -ssl
示例:
nikto -h www.example.com -ssl
-
使用代理进行扫描:
如果你需要通过代理进行扫描,可以使用以下命令:
nikto -h <目标网址或IP地址> -useproxy <代理地址:端口>
示例:
nikto -h www.example.com -useproxy 127.0.0.1:8080
示例输出
运行以下命令:
nikto -h www.example.com
可能会得到如下输出:
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP: 93.184.216.34
+ Target Hostname: www.example.com
+ Target Port: 80
+ Start Time: 2024-07-04 12:34:56 (GMT)
---------------------------------------------------------------------------
+ Server: Apache/2.4.7 (Ubuntu)
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The X-Content-Type-Options header is not set. This can allow the user agent to interpret files as a different MIME type
+ Allowed HTTP Methods: GET, HEAD, POST, OPTIONS
+ OSVDB-3092: /admin/: This might be interesting...
+ OSVDB-3268: /icons/: Directory indexing is enabled
+ OSVDB-3092: /test/: This might be interesting...
+ 6474 requests: 0 error(s) and 8 item(s) reported on remote host
+ End Time: 2024-07-04 12:35:56 (GMT) (60 seconds)
---------------------------------------------------------------------------
解释
- Target IP: 目标服务器的 IP 地址。
- Target Hostname: 目标服务器的主机名。
- Target Port: 扫描的端口号。
- Start Time: 扫描开始时间。
- Server: 目标服务器的服务器类型和版本。
- 扫描结果: 列出了发现的潜在漏洞和配置问题,例如未设置的安全头部、启用的目录索引等。
- End Time: 扫描结束时间。
通过这些步骤和命令,你可以使用 Nikto 来检测 Web 服务器中的潜在漏洞,并采取相应的安全措施。如果你有任何进一步的问题或需要更详细的解释,请告诉我。