当前位置: 首页 > 工具软件 > Acunetix > 使用案例 >

Acunetix Web 应用程序漏洞报告 2020

宰父学
2023-12-01

欢迎阅读 2020 年版的 Acunetix Web 应用程序漏洞报告。

每年,Acunetix都会分析从 Acunetix Online 收到的数据并创建漏洞测试报告。此报告代表 Web 应用程序和网络边界的安全状态。今年的报告包含基于 5,000 个扫描目标的数据,在 2019 年 3 月至 2020 年 2 月的 12 个月期间检测到的漏洞的结果和分析。此分析主要适用于在 Web 应用程序中发现的高、中严重漏洞,以及外围网络漏洞数据。

虽然人们可能认为 Web 应用程序总体上正在慢慢变得更加安全,但事实并非如此乐观。我们观察到,受 Web 漏洞扫描保护的应用程序变得更加安全。我们还注意到,相对较新的目标具有更多的漏洞。

从安全的角度来看,这是令人担忧的。这意味着新开发人员不具备避免漏洞所需的知识。它还表明,这些开发人员在不促进网络安全的开发结构中工作。不幸的是,旧习惯很难改掉。

我们在 25% 的采样目标中发现了跨站点脚本 (XSS) 漏洞、易受攻击的 JavaScript 库和 WordPress 相关问题——当然很多。这意味着 Web 应用程序仍然非常脆弱,但即便如此,这个数字还是比去年减少了 30%。似乎经验丰富的网站开发人员和系统管理员正在取得进展。SQL 注入问题的情况类似——就像去年一样,数量正在减少。

AWAVR20_figure01 图 1. 逐年漏洞。 对交互式 Web 应用程序的需求正在增长。因此,Web 应用程序使用越来越多的客户端技术。因此,JavaScript 库的数量不断增加。许多这些库都有漏洞。它们的作者和用户都知道这些漏洞。然而,大约 25% 的 Web 应用程序使用此类易受攻击的库。

当我们比较服务器端编程语言时,这也很有趣。我们看到 PHP 仍然像以前一样流行。第二流行的语言是 ASP.NET,但开发人员越来越多地使用其他不太流行的服务器端语言。

AWAVR20_figure02 图 2. 服务器端编程语言的使用。

当我们谈论漏洞时,情况就不同了。

PHP 漏洞的百分比下降了很多。ASP 或 ASP.NET 漏洞的百分比正在增长。 Apache/nginx 中的漏洞百分比下降了很多。IIS 漏洞的百分比正在增长。

cvar Cryo = require('cryo'); var obj = { testFunc : function() {return 1111;} };

var frozen = Cryo.stringify(obj); console.log(frozen)

var hydrated = Cryo.parse(frozen); console.log(hydrated); AWAVR20_figure03 图 3. 在各种平台中检测到的漏洞百分比。 为什么会这样?

我们假设大多数 ASP/ASP.NET Web 应用程序运行在 IIS Web 服务器上。 我们假设大多数 PHP Web 应用程序运行在 Apache 或 nginx Web 服务器上。 我们观察到 PHP 的趋势与 Apache/nginx 的趋势相似。 我们还观察到 ASP/ASP.NET 的趋势与 IIS 的趋势相似。 当我们将此与上图中的一般统计数据一起考虑时,会想到一个结论。PHP+Apache/nginx 平台似乎越来越安全、成熟、健壮。市场也一直青睐这个平台。另一方面,ASP/ASP.NET+IIS 平台正在慢慢失去人气。与此同时,它仍然没有我们所希望的那么健壮和成熟。

PHP 如此受欢迎是因为很多 PHP 站点都是 WordPress 站点。WordPress 网站通常不安全,而是静态的。选择主题和插件后,您不会有太大变化。只有当您更新 WordPress、主题和插件时,攻击面才会发生变化。而这些更新中的大部分都是安全更新。

这也表明 ASP/ASP.NET Web 应用程序的开发更加活跃。高百分比的漏洞可能是由积极的开发造成的。

方法 我们从一年前的 Acunetixx Online 中随机抽取了 5,000 个扫描目标样本。此示例包括 Web 应用程序和网络外围安全扫描。我们排除了出于教育目的而有意易受攻击的网站的扫描。

自动网页扫描的工作原理 Acunetix Online 可以执行动态应用程序安全测试 (DAST) 扫描(也称为黑盒扫描),以及交互式应用程序安全测试 (IAST) 扫描(也称为灰盒扫描)。

DAST 扫描意味着扫描仪没有关于网站结构或所用技术的信息。IAST 扫描意味着扫描器具有有关 Web 应用程序的“内部信息”。在 Acunetix 中,这要归功于 AcuSensor 技术。您可以在 Web 服务器上为 Java、ASP.NET 和 PHP 应用程序安装 AcuSensor 代理。代理将信息从 Web 服务器发送回扫描仪。

扫描时,您通常遵循以下四个阶段,并在必要时重复它们:

爬网 ——Acunetix 爬虫从主页或索引页面开始。然后它通过爬取所有链接和输入来构建 Web 应用程序结构的模型。它模拟用户+浏览器的行为来公开网站的所有可访问元素。 扫描 ——一旦爬虫建立了网站模型,每个可用的页面或端点都会被自动测试以识别所有潜在的漏洞。 报告 – 您可以实时查看扫描进度,但扫描结果通常汇总在报告中。您可以将报告用于合规性和管理目的。Acunetix 提供了多种用于不同目的的报告模板,例如 OWASP Top 10 和 ISO 27001 报告。 补救 - 修复漏洞: 修补 – 首先,将 Acunetix数据导出到 Web 应用程序防火墙 (WAF)。这使您可以在进行修复时暂时防御攻击。 问题管理 ——当您与 JIRA、GitHub 和 GitLab 等问题跟踪器集成时,您可以从发现漏洞到解决漏洞的那一刻进行跟踪。您还可以与 Jenkins 等持续集成解决方案集成。 连续扫描 - Acunetix 可以执行计划扫描。您可以使用它们来确保漏洞得到真正修复。 数据 我们从 Acunetix Online 中运行的扫描收集了本报告中分析的数据。我们专注于 Web 和网络扫描中的高危和中危漏洞警报。

AWAVR20_figure04a 图 4a。2018 年和 2019 年的数据比较——网络扫描次数。

AWAVR20_figure04b 图 4b。2018 年和 2019 年的数据比较——网络扫描次数。

AWAVR20_figure04c 图 4c。2018 年和 2019 年的数据比较——每月扫描的平均位置数。

AWAVR20_figure04d 图 4d。2018 年和 2019 年的数据比较——每月发送的 HTTP 请求的平均数量。

AWAVR20_figure04e 图 4e。2018 年和 2019 年的数据比较——每月触发的漏洞警报的平均数量。 漏洞一览 本节列出了所有检测到的漏洞。

漏洞类型 图表按类型列出漏洞。它们按漏洞严重性级别分组。

高严重性 此图表说明了属于我们的高严重性类别的漏洞类型。

AWAVR20_figure05 图 5. 高严重性漏洞的分析。 中等严重性 此图表列出了属于我们的中等严重性类别的漏洞类型。

AWAVR20_figure06 图 6. 中等严重性漏洞的分析。

我们利用 Acunetix 更彻底地评估面向互联网的网站和服务器。Acunetix 与其他漏洞扫描应用程序一起帮助我们识别漏洞。在发现/确定不同类型的恶意代码注入漏洞(SQL、HTML、CGI 等)时,Acunetix 是一个更可靠的应用程序。

  • 卡特霍顿,副教授。信息分析师,广东信息技术 漏洞严重程度 什么是漏洞? 漏洞是恶意黑客可以利用的应用程序或设备中的缺陷。攻击者可以利用漏洞来实现目标,例如窃取敏感信息、通过使其不可用(在拒绝服务场景中)破坏系统或破坏数据。

漏洞的影响因漏洞利用而异。Acunetix 主要根据漏洞可能对系统产生的影响来分配严重性。严重性还取决于利用漏洞的难度。

您的企业可能有许多系统同时运行——有些系统比其他系统更重要。Acunetix 允许您使用业务重要性对这些系统进行评级。必要系统比非必要系统具有更高的关键性。

高严重性 此级别表示攻击者可以完全破坏系统的机密性、完整性或可用性,而无需专门访问、用户交互或攻击者无法控制的情况。攻击者很有可能将攻击升级到操作系统和其他系统。

中等严重性 此级别表示攻击者可以部分破坏目标系统的机密性、完整性或可用性。他们可能需要特殊的访问权限、用户交互或攻击者无法控制的情况。此类漏洞可能与其他漏洞一起使用以升级攻击。

低严重性 此级别表示攻击者可以以有限的方式破坏目标系统的机密性、完整性或可用性。他们需要攻击者无法控制的特殊访问、用户交互或环境。要升级攻击,此类漏洞必须与其他漏洞一起使用。

组合漏洞 在大多数中等严重性和低严重性漏洞的情况下,当攻击者将其与其他漏洞结合使用时,攻击是可能的或更危险的。此类漏洞通常涉及社会工程。

漏洞分析 远程代码执行 远程代码执行 (RCE) 位于高严重性列表的顶部。攻击者可以利用此漏洞在 Web 应用程序中运行任意代码。

如果攻击者可以运行代码,他们就可以通过在操作系统中运行命令来将代码提升到一个新的水平。他们可能能够完全接管系统并可能创建一个反向外壳——从主机到攻击者的出站连接。

在许多情况下,这会绕过防火墙配置。大多数防火墙配置阻止入站连接,而不是出站连接。如果未验证出站连接,攻击者可以使用受感染的机器访问其他主机,并可能从它们那里获取更多信息或凭据。

分析 易受 RCE 攻击的 Web 应用程序的百分比很低,但去年要低得多(2%)。这令人担忧,因为此漏洞可能会造成严重损害。必须将此类漏洞作为首要任务加以修复。

AWAVR20_figure07 图 7. RCE 漏洞分析。 SQL 注入 (SQLi) 如果开发人员不检查或验证用户输入,则可能发生SQL 注入 (SQLi)攻击。因此,攻击者可以输入 SQL 查询,然后由后端数据库执行。这样的查询可能会显示、添加或删除记录甚至整个表。这会影响数据的完整性,并可能完全停止 Web 应用程序(拒绝服务)。此类漏洞可能允许攻击者在主机系统中创建或更改文件,甚至运行命令。它们还可能允许攻击者移动到其他主机。

SQL 注入已经存在很长时间,是最常见和最具破坏性的漏洞之一。这也是众所周知的。许多工具和技术可用于防御此类攻击,但恶意黑客也有许多工具可以利用这些漏洞。

SQL 注入通常会让攻击者获得对客户记录、个人身份信息 (PII) 和其他机密数据的访问权限。随着 GDPR 立法,这变得越来越重要。不合规可能会导致巨额罚款。

AWAVR20_figure08 图 8. SQLi 漏洞分析。 盲 SQL 注入 盲 SQL 注入 是 SQLi 的更复杂版本。攻击者在无法使用传统 SQLi 时使用它。盲 SQL 注入需要大量时间和大量请求。系统管理员可能会通过使用简单的日志监控工具检查大量请求来注意到攻击。

这种攻击被称为“盲”,因为攻击者无法使 Web 应用程序直接暴露数据。诀窍是使用 SQL 查询的条件元素,例如,一个返回true,另一个返回false。如果应用程序在这两种情况下的行为不同,它可能会让攻击者一次检索一条信息。另一个技巧是使用导致时间延迟的 SQL 语句——根据延迟,攻击者知道语句是如何执行的。

分析 我们发现 8% 的分析目标至少有一个 SQLi 漏洞。这是非常出乎意料的。SQL 注入最早出现于 1998 年。所有主要的开发环境和框架都包含消除它们的工具。SQL 注入不应该如此普遍。

防御 SQL 注入攻击的正确方法是使用参数化 SQL 查询。今天几乎所有框架和语言都使之成为可能。因此,大量 SQL 注入漏洞可能是由在这些工具不可用时编写的较旧应用程序造成的。

AWAVR20_figure09 图 9. 盲 SQLi 漏洞分析。 本地文件包含和目录遍历 本地文件包含(LFI) 和目录遍历(路径遍历)漏洞让攻击者可以访问主机系统。攻击者可以通过使用“..\”或“../”来引用父目录来实现。

在目录遍历的情况下,攻击者可能会读取不应访问的文件。在 Linux 和 UNIX 的情况下,攻击者可以使用 /proc 目录来访问软件组件、硬件设备、附加的文件系统、网络等。他们还可以使用 /etc 目录来访问机密信息,例如用户名、组名和密码。

在包含本地文件的情况下,攻击者不仅可以读取文件,还可以包含其中的代码。如果攻击者可以上传源代码文件,他们就可以在 Web 服务器上执行此代码。

分析 我们发现 4% 的抽样目标容易受到目录遍历的影响。另有 1% 的人容易受到本地文件包含的影响。去年,目录遍历的数字仅为 2%。这令人担忧,因为这是一个非常古老且众所周知的漏洞。

AWAVR20_figure10 图 10. LFI 和目录遍历漏洞分析。 跨站脚本 (XSS) 当攻击者将恶意脚本(通常是 JavaScript )注入网页时,就会发生跨站脚本 (XSS)。交互式 Web 应用程序需要在本地浏览器中执行脚本,这使得跨站点脚本成为可能。

这种类型的漏洞主要是由于开发人员未能验证或清理用户输入造成的。如果用户在表单中包含 JavaScript 代码,而开发人员直接在网页上使用该表单输入,则保证存在 XSS 漏洞。

例如,恶意用户可能会在论坛中输入以下消息:

Thanks for your help!

 类似资料: