# AWVS 概述

AWVS 是指 "Acunetix Web Vulnerability Scanner",是一款广为人知的网络应用程序安全扫描器。它被用于检测和评估网络应用程序中的安全漏洞和弱点。AWVS 可以自动扫描和识别常见的网络漏洞,并提供详细的报告,帮助网站管理员和开发人员发现和修复安全问题

联动:如何快速安装和部署 AWVS

联动:Goby+AWVS 实现联动攻击面检测

工作原理:

  • 扫描整个网络,通过跟踪站点上的所有链接和 robots.txt 来实现扫描,扫描后 AWVS 就会映射出站点的结构并显示每个文件的细节信息

  • 在上述的发现阶段或者扫描过程之后,AWVS 就会自动地对所发现的每一个页面发动一系列的漏洞攻击,这实质上是模拟一个黑客的攻击过程(用自定义的脚本去探测是否有漏洞)。AWVS 分析每一个页面中需要输入数据的地方,进而尝试所有的输入组合。这是一个自动扫描阶段

  • 在它发现漏洞之后,AWVS 就会在 “Alerts Node (警告节点)” 中报告这些漏洞,每一个警告都包含着漏洞信息和如何修补漏洞的建议

  • 在一次扫描完成之后,它会将结果保存为文件以备日后分析以及与以前的扫描相比较,使用报告工具,就可以创建一个专业的报告来总结这次扫描

# AWVS 简介

主菜单功能介绍:主菜单共有 6 个模块,分别为仪表盘、发现、目标、扫描、漏洞、报告

awvs-dashboard

  • 仪表盘:显示扫描过的网站的漏洞信息

  • 发现:之前扫描发现的目标信息

  • 目标:需要被扫描的网站

  • 扫描:扫描目标站点,从 Target 里面选择目标站点进行扫描

  • 漏洞:扫描产生的漏洞

  • 报告:漏洞扫描完成后生成的报告

设置菜单功能介绍:

awvs-dashboard

  • 用户:添加网站的使用者、新增用户身份验证、用户登录会话和锁定设置

  • 扫描定义档:可根据需要勾选完全扫描、高风险漏洞、跨站点脚本漏洞、SQL 注入漏洞、弱密码、仅抓取、恶意软件扫描 新建一个配置文件,之后可以选择对应的检查项目:

  • acunetix-define-scan

  • 网络扫描器:网络扫描仪,配置网络信息包括地址、用户名、密码、端口、协议

  • 问题跟踪器:可配置问题跟踪平台如 github、gitlab、JIRA 等

  • 网络应用防火墙:配置 WAF

  • 引擎:引擎安装删除禁用设置

  • 排除时间表:扫描时间设置,可设置空闲时间扫描,或自定义扫描时间

  • scan-schea

  • 代理设置:设置代理服务器信息

# 使用 AWVS 扫描网站

# 1、添加扫描目标

点击目标 - 添加目标,设置目标地址信息,之后点击保存

acunetix-scan

支持 CSV 导入添加目标:

acunetix-import-csv

csv 格式如下:

http://testphp.vulnweb.com, PHP Test Site

https://demo.testfire.net, IBM Online

# 2、设置扫描选项

一般选择全扫,也可以根据你的需求设置扫描类型,设置完成后执行扫描

acunetix-scan-type

这里只介绍几种特殊的模式:

  • CrawlOnly,在 CrawlOnly 模式中,AWVS 将仅执行网站的抓取操作,而不会进行漏洞扫描

  • PCI checks,用于检查与支付卡行业安全标准(PCI DSS)相关的漏洞和配置问题

  • Sans Top 25,扫描 SANS 研究院所发布的一个安全漏洞列表,其旨在提供一份关键漏洞清单,以帮助组织和安全专业人员优先处理最严重的安全威胁

  • Malware Scan,恶意软件扫描

# 3、设置扫描速度

用于绕过 WAF 拦截选择慢扫 ,有 waf 的时候并发设置为 1

acunetix-scan-speed

# 4、设置连续扫描

acunetix-scan-speed

开启连续扫描之后,每天快速扫描一次目标并更新最新的漏洞。且每周会执行一次完整扫描

# 5、设置爬虫的配置

可以选择客户端代理,是否区分路径大小写和爬虫排除的路径

awvs-proxy

# 6、爬虫的目录列表

有些爬虫爬不到的路径,可以先使用目录爆破工具爆破目标的目录,之后将目录添加到 AWVS 中,更有效

awvs-dir

例如,为了确保漏洞覆盖,这里使用 BURP 录制一份测试靶场的流量,导入到 AWVS 中

在这里插入图片描述

新建目标,导入文件:

在这里插入图片描述

# 7、设置 HTTP 认证账户和密码

设置 HTTP 身份验证,一般用于网站有 HTTP 认证的情况

awvs-http

# 8、设置代理服务器

例如添加 clash 默认代理,地址为 127.0.0.1,端口默认为 7890

awvs-clash-proxy

# 9、设置自定义的发包报文

awvs-header

# 10、设置扫描时间范围,防止流量过剩

awvs-scan-time

# 11、开始扫描

接上一步点击保存,开启扫描,扫描完成后,回到仪表盘查看结果

dash

点击漏洞进入漏洞列表页面,这里可以导出扫描报告,AWVS 将漏洞分级表示紧急程度

vulnerability

点击选择一个漏洞,点击进入可以看到 AWVS 给出的详细描述,包括:Vulnerability description(漏洞描述)、Attack Details(攻击详细信息)、HTTP Request (http 请求)、HTTP Response (http 响应)、The impact of this vulnerability(此漏洞的影响)、How to fix this vulnerability(如何修复此漏洞)、Classificationa(分类)、Detailed Information(详细信息)、Web References web(引用)

vuln-detail

站点结构 Site Structure 查看每个模块的漏洞情况,便于及时定位问题

awvs-sitemodel

点击右上角的生成报告可以快捷生成报告信息

awvs-report

生成的报告可以在报告模块进行下载,支持 pdf 和 html 格式:

awvs-report

# AWVS 账户密码登录扫描

对于登录页面没有验证码的,可以输入账号、密码进行扫描
新建扫描任务时,开启网站登录,并配置登录表单信息:

awvs-login

点击右上角【保存】,然后点击【扫描】按钮 ,之后等待自动登录扫描完成即可

# 利用登录序列脚本扫描

对于登录页面没有验证码的,也可以利用录制登录序列脚本扫描:
新建扫描任务,配置处点击网站登录,选择录制登录序列脚本,点击新建:

awvs-login-script

在后台页面上输入用户名和密码,点击登录:

awvs-script

成功进入后台页面:

awvs-login

登录成功后点击相应的功能,记录功能(尽量点击全部功能)
完成导入:

之后开启扫描即可,会自动加载序列进行登录操作

# 利用 cookie 扫描

扫描过程会遇到网站存在手机验证码,图形验证码,滑动验证等等,这时候想要深度扫描时,就需要进行登录绕过。最常用的手段就是定制 cookie 绕过
高级,选择自定义 Cookie:

awvs-cookie

输入被测网站网址,切换到其他浏览器,获取网站的 cookie 值并输入:

awvs-cookie2

注意:输入完 cookie 之后,还要点击一下 + 号,进行添加:

awvs-cookie3

之后保存,扫描即可

# AWVS 扫描器 IAST 使用

AcuSensor 允许扫描程序从您的 PHP、.NET 或 Java web 应用程序收集更多信息,用于改善扫描结果,并减少误报。请于运行 Web 扫描前,下载并安装与目标对应的 AcuSensor

注意:避免在生产系统中使用 AcuSensor

传感器是针对每个网站唯一生成的

acusensor

使用简介,例如,Java:

  • 将 Aspectjweaver.jar 部署到您的 Web 服务器中 - 提供 AcuSensor 与您的应用程序一起使用所需的集成

  • 将 Acunetix Java AcuSensor 部署到 Web 服务器中 - 这对于每个 Target 都是唯一的,可以使用 “下载 JAVA AcuSensor” 按钮进行下载

  • 配置您的 Web 服务器以使用加载时间编织(AspectJWeaver)

  • 对比 awvs 扫描,开启 AcuSensor,开启后扫描目标会有 AcuSensor 图标: