Web漏洞扫描工具AppScan与AWVS测评及使用体验

AppScan和AWVS业界知名的Web漏洞扫描工具,你是否也好奇到底哪一个能力更胜一筹呢?接下来跟随博主一探究竟吧。

1. 方案概览

  • 第一步:安装一个用于评测的Web漏洞靶场(本文采用最知名和最广泛使用的靶场,即OWASP Benchmark);
  • 第二步:分别使用两款工具对靶场进行漏洞扫描,扫描参数尽量保持一致;
  • 第三步:从多维度对比分析扫描过程和扫描结果;

两者的扫描报告概览如下:

AWVS

AppScan

2. 具体实施

2.1. 环境信息

本次测评所用的基础环境和工具版本信息如下:

  • 操作系统 Windows 10
  • OWASP benchmark V1.2
  • AppScan 10.0.8
  • AWVS 15.0.221007170

若对以下评测过程感兴趣,可以动手实操,所需要的基础环境和工具安装配置指导可以参阅博主前期文章:

  • OWASP Benchmark | OWASP 基准项目镜像方式安装、配置及如何生成SAST和DAST工具的评分报告
  • 安全工具 | AWVS漏洞扫描工具安装、使用技巧及注意事项(附工具下载链接)
  • 安全工具 | AppScan漏洞扫描工具标准版免费安装、配置及使用指导(附工具下载链接)

2.2. 测试步骤

2.2.1. 启动靶场项目OWASP Benchmark

启动OWASP Benchmark项目,项目启动成功后可以通过URL访问靶场,本例中启动靶场地址为https://local:8443/benchmark/
在这里插入图片描述

2.2.2. AWVS扫描

1、在AWVS上创建扫描任务,参数配置如下:

  • 扫描策略:Full Scan,即全量扫描;
  • 扫描速度:Fast,即AWVS的最快速度扫描
  • 其他参数默认
    扫描参数

2、按以上配置执行扫描,扫描完成后可以界面上看到扫描结果。
在这里插入图片描述

3、进入报告详情界面查看并下载报告

在这里插入图片描述

在这里插入图片描述

2.2.3. AppScan扫描

1、打开AppScan客户端,创建扫描任务,参数配置如下:

  • 扫描策略:Full Scan,即全量扫描;
  • 扫描速度:Fast,即快速度扫描
  • 其他参数默认
    扫描参数

扫描速度:快速
2、启动AppScan扫描任务,可以看到CPU直接爆满

CPU利用率

整个扫描过程比较漫长,需要耐心等待
6个半小时,任务进度才执行到一半

3、扫描完成后查看并下载报告
9个小时
在这里插入图片描述

2.3. 报告对比分析

完成以上两款工具对同一靶场的扫描后我们可以得到如下扫描报告:

  • AppScan OWASP benchmark扫描报告.pdf (访问密码: 6277)
  • AWVS OWASP benchmark扫描报告.pdf (访问密码: 6277)

接下来我们按以下维度进行对比:

对比项AWVSAppScan备注
扫描耗时140min533minAppScan耗时久主要有两个原因:1、AppScan扫描规则极多;2、以上扫描参数配置的扫描速度并非是AppScan的最快速度
扫描请求个数20万+个100万+个从AppScan发送的请求数超百万个,也可以简单说明AppScan规则数量极多
发现问题数210个,其中有202个是高危漏洞9000+个,其中972个高危漏洞两者发现的问题根本不在一个量级

由于扫描报告涉及到的漏洞较多,高达上千个,博主暂时未来得及将扫描的问题进行分类比较,接下来有时间会将两者的扫描报告与OWASP Benchmark 的基准漏洞做次对比,用于评测两款工具针对漏洞的误报率和漏报率。

2.4. 总结

AppScan有业界最强悍的规则库,AppScan的规则库内置了超过1.2万个测试用例,测试用例最全,所以AppScan扫描的问题更多,扫描时长也较久;AWVS扫描SQL 注入和跨站脚本的能力较专,误报相对较低,扫描时长较短。建议企业在日常测试流程中使用AWVS,在针对重点或高风险版本使用AppScan进行查漏补缺。


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

啥?你没听过SpringBoot的FatJar?

写在最前面: SpringBoot是目前企业里最流行的框架之一,SpringBoot的部署方式多数采用jar包形式。通常,我们使用java -jar便可以直接运行jar文件。普通的jar只包含当前 jar的信息,当内部依赖第三方jar时,直接运行则会报…

robotframework-appiumLibrary 应用 - 实现 app 自动化

1、安装appiumLibrary第三方库 运行pip命令:pip install robotframework-appiumlibrary 若已安装,需要更新版本可以用命令:pip install -U robotframework-appiumlibrary 2、安装app自动化环境。 参考我的另外一篇专门app自动化环境安装的…

设计模式探索:策略模式

1. 什么是策略模式(Strategy Pattern) 定义 策略模式(Strategy Pattern)的原始定义是:定义一系列算法,将每一个算法封装起来,并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而…

打卡第4天----链表

通过学习基础,发现我的基本功还得需要再练练,思路得再更加清晰明了,这样子做算法题才能驾轻就熟。每天记录自己的进步。 一、两两交换 题目编号:24 题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本…

[数据结构] 基于交换的排序 冒泡排序快速排序

标题:[数据结构] 基于交换的排序 冒泡排序&&快速排序 水墨不写bug (图片来源于网络) 目录 (一)冒泡排序 优化后实现: (二)快速排序 I、实现方法: &#…

opencv环境搭建-python

最近遇到了一些图像处理的需求,所以需要学习一下opencv,来记录一下我的学习历程。 安装numpy pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy安装matplotlib pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib安装opencv …

ctfshow web入门 web338--web344

web338 原型链污染 comman.js module.exports {copy:copy };function copy(object1, object2){for (let key in object2) {if (key in object2 && key in object1) {copy(object1[key], object2[key])} else {object1[key] object2[key]}}}login.js var express …

gcc/g++的四步编译

目录 前言1.预处理(进行宏替换)2.编译(生成汇编)3.汇编(生成二进制文件)4. 链接 (生成可执行文件)a. 动态库 && 动态链接b. 静态库 && 静态链接c. 验证d. 动静态链接…

技术实现路径怎么写?(Word项目技术路径文档参考)

软件项目编写技术实现路径至关重要,因为它为项目团队提供了清晰的开发蓝图。这一路径明确了从项目启动到交付各阶段所需的技术方案、步骤及预期成果,有助于团队统一认识,确保开发工作有序进行。同时,技术实现路径有助于识别潜在的…

HetuEngine简介

目录 HetuEngine是什么? HetuEngine的特点以及使用场景 特点 使用场景 HetuEngine介绍 结构 近期用到了Hetu,了解下这个工具是起什么作用的。 HetuEngine是什么? 是引擎,设计是为了让与当前的大数据生态完美融合的引擎&am…

本安防爆手机:危险环境下的安全通信解决方案

在石油化工、煤矿、天然气等危险环境中,通信安全是保障工作人员生命安全和生产顺利进行的关键。防爆智能手机作为专为这些环境设计的通信工具,提供了全方位的安全通信解决方案。 防爆设计与材料: 防爆智能手机采用特殊的防爆结构和材料&…

Mysql部署MHA高可用

部署前准备: mysql-8.0.27下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar mha-manager下载地址:https://github.com/yoshinorim/mha4mysql-manager/releases/download/v0.58/mha4mysql-mana…

为什么需要做网络安全服务?

网络安全服务之所以重要,是因为它在保护数字资产、维护企业运营、确保法规遵从、防范恶意行为以及建立信任等方面扮演着关键角色。以下是一些主要的理由: 保护核心资产和数据: 数字化转型使得企业数据变得极其宝贵,包括知识产权、…

深度学习模型加密python版本

支持加密的模型: # torch、torch script、onnx、tensorrt 、torch2trt、tensorflow、tensorflow2tensorrt、paddlepaddle、paddle2tensorrt 深度学习推理模型通常以文件的形式进行保存,相应的推理引擎通过读取模型文件并反序列化即可进行推理过程. 这样一来&#…

20K Stars!一个轻量级的 JS 库

大家好,我是CodeQi! 一位热衷于技术分享的码仔。 Driver.js 是一个轻量级的 JavaScript 库,旨在帮助开发人员创建网站或应用程序的引导和教程。通过 Driver.js,您可以引导用户了解网站的各个功能和使用方式。 Driver.js 提供了高度可定制的功能,使其能够适应各种需求和…

使用Python绘制和弦图

使用Python绘制和弦图 和弦图效果代码 和弦图 和弦图用于展示数据的多对多关系,适合用于社交网络、交通流量等领域的分析。 效果 代码 import pandas as pd import holoviews as hv from holoviews import opts hv.extension(bokeh)# 示例数据 data [(A, B, 2),…

印尼网络安全治理能力观察

在全国国际机场的移民服务完全瘫痪 100 多个小时后,印尼政府承认其新成立的国家数据中心 (PDN) 遭受了网络攻击。 恶意 Lockbit 3.0 勒索软件加密了存储在中心的重要数据,其背后的黑客组织要求支付 800 万美元的赎金。 不幸的是,大多数数据…

性能测试相关理解(一)

根据学习全栈测试博主的课程做的笔记 一、说明 若未特别说明,涉及术语都是jmeter来说,线程数,就是jmeter线程组中的线程数 二、软件性能是什么 1、用户关注:响应时间 2、业务/产品关注:响应时间、支持多少并发数、…

深入解析 androidx.databinding.Bindable 注解

在现代 Android 开发中,数据绑定 (Data Binding) 是一个非常重要的技术。它使得我们能够简化 UI 和业务逻辑之间的连接,从而提高代码的可读性和维护性。在数据绑定中,Bindable 注解是一个关键部分,它帮助我们实现双向数据绑定和自…

【车载开发系列】GIT安装详细教程

【车载开发系列】GIT安装详细教程 【车载开发系列】GIT安装详细教程 【车载开发系列】GIT安装详细教程一. GIT软件概念二. GIT安装步骤三. GIT安装确认三. GIT功能使用1)Git Bash2)Git CMD3)Git FAQs4)Git GUI 一. GIT软件概念 G…