# AWVS 概述
AWVS 是指 "Acunetix Web Vulnerability Scanner",是一款广为人知的网络应用程序安全扫描器。它被用于检测和评估网络应用程序中的安全漏洞和弱点。AWVS 可以自动扫描和识别常见的网络漏洞,并提供详细的报告,帮助网站管理员和开发人员发现和修复安全问题
联动:如何快速安装和部署 AWVS
联动:Goby+AWVS 实现联动攻击面检测
工作原理:
-
扫描整个网络,通过跟踪站点上的所有链接和 robots.txt 来实现扫描,扫描后 AWVS 就会映射出站点的结构并显示每个文件的细节信息
-
在上述的发现阶段或者扫描过程之后,AWVS 就会自动地对所发现的每一个页面发动一系列的漏洞攻击,这实质上是模拟一个黑客的攻击过程(用自定义的脚本去探测是否有漏洞)。AWVS 分析每一个页面中需要输入数据的地方,进而尝试所有的输入组合。这是一个自动扫描阶段
-
在它发现漏洞之后,AWVS 就会在 “Alerts Node (警告节点)” 中报告这些漏洞,每一个警告都包含着漏洞信息和如何修补漏洞的建议
-
在一次扫描完成之后,它会将结果保存为文件以备日后分析以及与以前的扫描相比较,使用报告工具,就可以创建一个专业的报告来总结这次扫描
# AWVS 简介
主菜单功能介绍:主菜单共有 6 个模块,分别为仪表盘、发现、目标、扫描、漏洞、报告
-
仪表盘:显示扫描过的网站的漏洞信息
-
发现:之前扫描发现的目标信息
-
目标:需要被扫描的网站
-
扫描:扫描目标站点,从 Target 里面选择目标站点进行扫描
-
漏洞:扫描产生的漏洞
-
报告:漏洞扫描完成后生成的报告
设置菜单功能介绍:
-
用户:添加网站的使用者、新增用户身份验证、用户登录会话和锁定设置
-
扫描定义档:可根据需要勾选完全扫描、高风险漏洞、跨站点脚本漏洞、SQL 注入漏洞、弱密码、仅抓取、恶意软件扫描 新建一个配置文件,之后可以选择对应的检查项目:
-
网络扫描器:网络扫描仪,配置网络信息包括地址、用户名、密码、端口、协议
-
问题跟踪器:可配置问题跟踪平台如 github、gitlab、JIRA 等
-
网络应用防火墙:配置 WAF
-
引擎:引擎安装删除禁用设置
-
排除时间表:扫描时间设置,可设置空闲时间扫描,或自定义扫描时间
-
代理设置:设置代理服务器信息
# 使用 AWVS 扫描网站
# 1、添加扫描目标
点击目标 - 添加目标,设置目标地址信息,之后点击保存
支持 CSV 导入添加目标:
csv 格式如下:
http://testphp.vulnweb.com, PHP Test Site
https://demo.testfire.net, IBM Online
# 2、设置扫描选项
一般选择全扫,也可以根据你的需求设置扫描类型,设置完成后执行扫描
这里只介绍几种特殊的模式:
-
CrawlOnly,在 CrawlOnly 模式中,AWVS 将仅执行网站的抓取操作,而不会进行漏洞扫描
-
PCI checks,用于检查与支付卡行业安全标准(PCI DSS)相关的漏洞和配置问题
-
Sans Top 25,扫描 SANS 研究院所发布的一个安全漏洞列表,其旨在提供一份关键漏洞清单,以帮助组织和安全专业人员优先处理最严重的安全威胁
-
Malware Scan,恶意软件扫描
# 3、设置扫描速度
用于绕过 WAF 拦截选择慢扫 ,有 waf 的时候并发设置为 1
# 4、设置连续扫描
开启连续扫描之后,每天快速扫描一次目标并更新最新的漏洞。且每周会执行一次完整扫描
# 5、设置爬虫的配置
可以选择客户端代理,是否区分路径大小写和爬虫排除的路径
# 6、爬虫的目录列表
有些爬虫爬不到的路径,可以先使用目录爆破工具爆破目标的目录,之后将目录添加到 AWVS 中,更有效
例如,为了确保漏洞覆盖,这里使用 BURP 录制一份测试靶场的流量,导入到 AWVS 中
新建目标,导入文件:
# 7、设置 HTTP 认证账户和密码
设置 HTTP 身份验证,一般用于网站有 HTTP 认证的情况
# 8、设置代理服务器
例如添加 clash 默认代理,地址为 127.0.0.1,端口默认为 7890
# 9、设置自定义的发包报文
# 10、设置扫描时间范围,防止流量过剩
# 11、开始扫描
接上一步点击保存,开启扫描,扫描完成后,回到仪表盘查看结果
点击漏洞进入漏洞列表页面,这里可以导出扫描报告,AWVS 将漏洞分级表示紧急程度
点击选择一个漏洞,点击进入可以看到 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(引用)
站点结构 Site Structure 查看每个模块的漏洞情况,便于及时定位问题
点击右上角的生成报告可以快捷生成报告信息
生成的报告可以在报告模块进行下载,支持 pdf 和 html 格式:
# AWVS 账户密码登录扫描
对于登录页面没有验证码的,可以输入账号、密码进行扫描
新建扫描任务时,开启网站登录,并配置登录表单信息:
点击右上角【保存】,然后点击【扫描】按钮 ,之后等待自动登录扫描完成即可
# 利用登录序列脚本扫描
对于登录页面没有验证码的,也可以利用录制登录序列脚本扫描:
新建扫描任务,配置处点击网站登录,选择录制登录序列脚本,点击新建:
在后台页面上输入用户名和密码,点击登录:
成功进入后台页面:
登录成功后点击相应的功能,记录功能(尽量点击全部功能)
完成导入:
之后开启扫描即可,会自动加载序列进行登录操作
# 利用 cookie 扫描
扫描过程会遇到网站存在手机验证码,图形验证码,滑动验证等等,这时候想要深度扫描时,就需要进行登录绕过。最常用的手段就是定制 cookie 绕过
高级,选择自定义 Cookie:
输入被测网站网址,切换到其他浏览器,获取网站的 cookie 值并输入:
注意:输入完 cookie 之后,还要点击一下 + 号,进行添加:
之后保存,扫描即可
# AWVS 扫描器 IAST 使用
AcuSensor 允许扫描程序从您的 PHP、.NET 或 Java web 应用程序收集更多信息,用于改善扫描结果,并减少误报。请于运行 Web 扫描前,下载并安装与目标对应的 AcuSensor
注意:避免在生产系统中使用 AcuSensor
传感器是针对每个网站唯一生成的
使用简介,例如,Java:
-
将 Aspectjweaver.jar 部署到您的 Web 服务器中 - 提供 AcuSensor 与您的应用程序一起使用所需的集成
-
将 Acunetix Java AcuSensor 部署到 Web 服务器中 - 这对于每个 Target 都是唯一的,可以使用 “下载 JAVA AcuSensor” 按钮进行下载
-
配置您的 Web 服务器以使用加载时间编织(AspectJWeaver)
-
对比 awvs 扫描,开启 AcuSensor,开启后扫描目标会有 AcuSensor 图标: