除了上文介绍的Nessus之外,还有一些其他开源的网站扫描产品可以参考,例如Nikto、SQLMap、XSSer等。
SQLMap是专门针对SQL Injection进行检测的工具。XSSer(Cross Site Scripter)是专门针对Cross-Site Scripting进行检测的工具。因为这两种网站扫描工具和Web安全的关联度极高,而且针对性很强,因此,我把有关这两种工具的介绍放在后面章节中了,在这里不再重复介绍。
下面我们着重介绍Nikto。
Nikto是一个开源的网站扫描器。它可以对Web服务器进行多种类型的扫描任务,例如可以针对超过6700个有害文件进行扫描,可以针对1250个已经过期的Web服务器版本进行扫描,以及针对不同Web服务器版本所特有的问题进行扫描。Nikto还可以对服务器配置进行检查,一方面可以发现错误的配置,另一方面可以识别安装的Web服务器及相关软件。而且Nikto所有的扫描项和扫描插件都可以随时下载最新版本。
Nikto的官方网站是 https://cirt.net/Nikto2 ,如果有需要可以从中获得更多的信息。
在这里,我准备了一个测试环境,并通过它来给大家介绍Nikto的安装以及使用。
测试环境如下所示。 虚拟化:VirtualBox 5.6.2 虚拟机:scanners(操作系统:Ubuntu 16.04.5 LTS, 安装软件:Nikto, IP地址:192.168.1.11) 虚拟机:target(操作系统:Ubuntu 16.04.5 LTS, 安装软件:Tomcat, IP地址:192.168.1.12)
Nikto的安装比较简单,在Ubuntu上利用apt直接安装即可。
root@scanners:~# apt install nikto
Nikto的使用也比较简单,只需提供地址和端口就可以开始使用了。Nikto和Nessus类似,适合做一些通用性的检查,但Nikto的扫描效果不如Nessus全面、完善。
root@scanners:~# nikto -h 192.168.1.12 -p 8080 - Nikto v2.1.5 --------------------------------------------------------------------------- + Target IP: 192.168.1.12 + Target Hostname: target + Target Port: 8080 + Start Time: 2020-02-16 16:48:20 (GMT8) --------------------------------------------------------------------------- + Server: Apache-Coyote/1.1 + Server leaks inodes via ETags, header found with file /, fields: 0xW/1896 0x1581842166000 + The anti-clickjacking X-Frame-Options header is not present. + No CGI Directories found (use '-C all' to force check all possible dirs) + Allowed HTTP Methods: GET, HEAD, POST, PUT, DELETE, 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. + /: Appears to be a default Apache Tomcat install. + /examples/servlets/index.html: Apache Tomcat default JSP pages present. + OSVDB-3720: /examples/jsp/snp/snoop.jsp: Displays information about page retrievals, including other users. + /manager/html: Default Tomcat Manager interface found + 6545 items checked: 0 error(s) and 9 item(s) reported on remote host + End Time: 2020-02-16 16:48:42 (GMT8) (22 seconds) --------------------------------------------------------------------------- + 1 host(s) tested root@scanners:~#