3.2 Web漏洞扫描

3.2.1 AWVS扫描器

AWVS,英文全称是Acunetix Web Vulnerability Scanner,是一个自动化的Web漏洞扫描工具,它通过跟踪网站上所有的链接来分析整个网站,然后对网站的每个部分进行针对性检测。

AWVS内置了脆弱性评估和脆弱性管理功能,可以快速有效地保护Web站点和Web应用的安全,同时可以轻松管理检测到的漏洞。

3.2.2 AWVS组成

AWVS的主要组成可以分为Web Interface、Web Scanner、AcuSensor、AcuMonitor和Reporter。

1.Web Interface

AWVS提供了一个易于使用的网页接口,允许多个用户通过网页界面管理使用AWVS。登录后,用户可以通过仪表板了解目标资产的安全性,并且可以从此处访问内置的脆弱性管理功能,包括:

(1)配置目标进行扫描,扫描结束后汇总并展示每个目标的脆弱性情况。

(2)按严重程度对检测到的脆弱性进行分类。

(3)对扫描状态进行配置,实时查看扫描情况。

(4)根据目标扫描或脆弱性生成报告。

2.Web Scanner

网站扫描通常包括两个阶段:

(1)爬行:通过深度扫描、自动分析和爬行网站来构建站点的结构。爬行过程会枚举所有文件、文件夹和输入。

(2)扫描:通过模拟黑客攻击,对目标进行Web漏洞检查。扫描结果包括目标所有漏洞的详细信息。

3.AcuSensor

使用AcuSensor可以进行交互式应用程序安全测试(IAST),也称为灰盒测试。启用AcuSensor后,传感器会检索所有文件,包括无法通过网站链接访问的文件,然后扫描程序会模拟黑客对每个页面进行测试,分析每个页面可输入数据的位置。

4.AcuMonitor

常规的Web应用程序测试非常简单,扫描程序将Payload发送给目标,目标做出响应,扫描程序接收到目标的响应后分析该响应,然后根据该响应对分析引发警告。但是,某些漏洞在测试过程中未对扫描程序提供任何响应,在这种情况下,常规的Web应用程序测试不起作用。

AcuMonitor可以检测在测试过程中不会向扫描程序提供响应的漏洞,如XXE、SSRF、Blind XSS等。

5.Reporter

Reporter可以根据目标扫描或脆弱性生成报告。它提供各种报告模板,包括执行摘要、详细报告和各种合规性报告。

3.2.3 AWVS配置

1.在目标页面中添加目标

在目标页面中添加目标,如图3-13所示。

img

图3‑13 添加目标

描述选填,可以输入简短的描述来识别目标。完成后单击添加目标,进入目标选项对话框,可以根据业务的情况配置扫描强度、扫描速度、SSH证书和安装AcuSensor。

2.配置连续扫描

启用连续扫描,会每天对目标进行快速扫描,并且每周会进行一次完整扫描。

配置连续扫描,如图3-14所示。

img

图3‑14 连续扫描

3.配置网站登录

对于只需提供用户名和密码的简单登录过程的Web应用程序,可以选择自动登录站点。扫描程序将自动检测登录链接、注销链接和用于维护会话活动的机制。

尝试自动登录网站,如图3-15所示。

img

图3‑15 尝试自动登录网站

对于带有验证码等的复杂登录机制,则需要使用预先录制的登入序列,如图3-16所示。

img

图3‑16 使用预先录制的登入序列

4.其他高级选项

对于每个目标,可以配置其他选项,包括:

(1)使用自定义User-Agent。

(2)区分大小写路径。

(3)扫描特定目标时要排除的路径。

(4)导入爬行的文件。

(5)配置HTTP认证、客户证书和代理服务器。

(6)配置目标使用的语言。

(7)自定义头文件、Cookie。

(8)配置允许的主机列表、问题跟踪、扫描计划和扫描引擎等。

3.2.4 AWVS扫描

选择扫描目标,如图3-17所示,然后单击“扫描”按钮。

img

图3‑17 选择扫描目标

选择扫描选项,如图3-18所示。

img

图3‑18 选择扫描选项

扫描类型:可以使用所有可用的检查进行完全扫描,也可以仅检查高危的漏洞,也可以检查特定漏洞,或者仅爬行不扫描。

报告:可以选择在扫描完成后自动生成报告。

计划:选择是立即开始扫描,还是在未来某一时间扫描,还是进行周期扫描。

以上选项根据需要配置完成后,单击创建,扫描开始,如图3-19所示。

img

图3‑19 扫描开始

3.2.5 AWVS分析扫描结果

1.扫描状态和信息

概述扫描检测到的目标,以及有关扫描的信息,例如扫描持续时间、平均响应时间和扫描的文件数。

2.漏洞

按严重性排序检测到的漏洞列表,如图3-20所示。

img

图3‑20 漏洞列表

通过过滤器可以根据目标、漏洞严重性等对漏洞进行筛选,如图3-21所示。

img

图3‑21 对漏洞进行筛选

(1)高风险警报:扫描目标很可能处于被黑客攻击和数据盗窃风险中。

(2)中风险警报:由服务器配置错误和站点编码不当引起的漏洞,这些漏洞会导致服务中断和被入侵。

(3)低风险警报:由于缺乏对数据流量或目录路径泄露的加密而导致的漏洞。

(4)信息提示:在扫描过程中发现的可能需要注意的信息,例如,可能会泄露内部IP地址或电子邮件地址信息等。

单击漏洞名称可以查看详细信息,内容包括漏洞描述、攻击细节、HTTP请求、HTTP响应、漏洞影响、修复建议、分类及网络参考等。如图3-22所示,漏洞详情为弱口令的HTTP登录请求。

img

图3‑22 漏洞详情为弱口令的HTTP登录请求

扫描器可能存在误报的情况,需要根据攻击细节进行手动验证,使用用户名“admin”,密码“123456”登录后台,发现登录成功,验证漏洞如图3-23所示。

img

图3‑23 验证漏洞

3.站点结构

通过站点结构可以确定是否覆盖所有文件,以及确定哪个文件或文件夹存在漏洞,单击文件夹可以展开结构树,站点结构如图3-24所示。

img

图3‑24 站点结构

4.事件

与扫描相关的事件列表。显示扫描开始和结束的时间,以及在扫描过程中是否遇到错误。

5.AWVS生成报告

在报告模块可以生成3种类型的报告:所有漏洞报告、扫描报告、目标报告,生成报告如图3-25所示。

img

图3‑25 生成报告

(1)所有漏洞报告:报告在扫描器中配置的所有目标上检测到的所有漏洞。

(2)扫描报告:报告一次或多次扫描检测到的漏洞。如果选择了针对同一目标的两次扫描,则将在生成报告时提供比较扫描的选项。

(3)目标报告:报告在一个或多个目标上检测到的所有漏洞,并考虑对目标进行所有扫描。