深度挖掘:近距离接触 MOVEit 零日漏洞
软件供应链网络攻击日益频繁,引发了美国政府层面的一系列立法变革,而企业则争相降低其巨大的风险,并迅速提高软件质量。仅今年就有三个与文件共享服务相关的零日漏洞,其中规模最大、破坏性最强的是 MOVEit 大规模漏洞。
由 CL0P 勒索软件组织发起的 MOVEit 事件一段时间以来一直占据着网络安全新闻的头条,有 1000 多家组织受到了影响。这一数字还将继续增长,使其成为自 2021 年 Solarwinds 以来最强大的软件供应链攻击之一。
这次大范围漏洞事件的催化剂是一组 SQL 注入漏洞,其严重性最终被MITRE 评为 9.8 分(满分 10 分)。自上世纪 90 年代末以来,SQL 注入一直是安全专业人员的心头大患,尽管这是一个相当简单的修复方法,但它仍在现代软件中大行其道,并为威胁行为者提供了通往敏感数据的红地毯。
MOVEit 场景与许多开发人员和应用程序安全专业人员以前可能经历过的场景有些不同,您可以在这里的实时模拟中测试自己的 SQLi 击杀技能:
>>>播放 MOVEit 任务
漏洞SQL 注入
Progress Software 公司的 MOVEit 文件传输应用程序究竟是如何利用 SQL 注入漏洞的?
CL0P 勒索软件小组利用 SQL 注入漏洞 CVE-2023-34362,在未经授权的情况下不受限制地访问 MOVEit 数据库。从那里,他们能够安装 LEMURLOOT,这是一个 web shell,最终允许他们运行几个高风险的关键进程,如检索系统设置、枚举 SQL 数据库、从 MOVEit 传输系统检索文件,以及创建一个具有完全管理权限的新账户。
不用说,这种攻击载体可能只是一个相对简单的错误,可以归结为长期使用不良的编码模式,但它在企业层面造成持续问题的潜力是巨大的。
与 MOVEit 漏洞利用类似,让我们看看这个 SQLi 解释器,它模拟了注入和执行恶意 SQL 的方法:
该查询字符串和变量:
字符串 emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
查询结果如下:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
......以及恶意制作的输入:
string emailAddress = "contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
将变成:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
飞行时的效果如何?
请注意,由于是字符串连接,输入内容被解释为 SQL 语法。首先,添加一个单引号,以确保 SELECT 语句是有效的 SQL 语法。接着,添加一个分号,以终止第一条语句。
一旦就位,就会添加一条有效的 DELETE 语句,然后用两个连字符注释掉任何尾部字符(单引号)。如果恶意 SQL 要更新用户的角色或密码,也可以添加 UPDATE 语句。
在这个可玩任务中亲自体验一下:
SQLi 虽然相对简单,但仍然是一个强大的攻击载体,而且非常常见。在 MOVEit 的案例中,这一漏洞为破坏性后门安装和一系列类似严重程度的进一步攻击创造了条件。
如何降低 SQL 注入风险?
任何使用 MOVEit 作为其业务运营一部分的公司,都必须遵循Progress 软件公司推荐的修复建议。这包括但不限于作为紧急优先事项应用安全补丁。
有关 SQL 注入的一般信息,请查看我们的综合指南。
想进一步了解如何编写安全代码和降低风险?请免费尝试我们的SQL 注入挑战。
如果您有兴趣获得更多免费的编码指南,请查看Secure Code Coach,它可帮助您始终掌握安全编码的最佳实践。
Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。
预定一个演示Laura Verheyde 是Secure Code Warrior 的一名软件开发人员,主要负责研究漏洞并为Missions 和编码实验室创建内容。
软件供应链网络攻击日益频繁,引发了美国政府层面的一系列立法变革,而企业则争相降低其巨大的风险,并迅速提高软件质量。仅今年就有三个与文件共享服务相关的零日漏洞,其中规模最大、破坏性最强的是 MOVEit 大规模漏洞。
由 CL0P 勒索软件组织发起的 MOVEit 事件一段时间以来一直占据着网络安全新闻的头条,有 1000 多家组织受到了影响。这一数字还将继续增长,使其成为自 2021 年 Solarwinds 以来最强大的软件供应链攻击之一。
这次大范围漏洞事件的催化剂是一组 SQL 注入漏洞,其严重性最终被MITRE 评为 9.8 分(满分 10 分)。自上世纪 90 年代末以来,SQL 注入一直是安全专业人员的心头大患,尽管这是一个相当简单的修复方法,但它仍在现代软件中大行其道,并为威胁行为者提供了通往敏感数据的红地毯。
MOVEit 场景与许多开发人员和应用程序安全专业人员以前可能经历过的场景有些不同,您可以在这里的实时模拟中测试自己的 SQLi 击杀技能:
>>>播放 MOVEit 任务
漏洞SQL 注入
Progress Software 公司的 MOVEit 文件传输应用程序究竟是如何利用 SQL 注入漏洞的?
CL0P 勒索软件小组利用 SQL 注入漏洞 CVE-2023-34362,在未经授权的情况下不受限制地访问 MOVEit 数据库。从那里,他们能够安装 LEMURLOOT,这是一个 web shell,最终允许他们运行几个高风险的关键进程,如检索系统设置、枚举 SQL 数据库、从 MOVEit 传输系统检索文件,以及创建一个具有完全管理权限的新账户。
不用说,这种攻击载体可能只是一个相对简单的错误,可以归结为长期使用不良的编码模式,但它在企业层面造成持续问题的潜力是巨大的。
与 MOVEit 漏洞利用类似,让我们看看这个 SQLi 解释器,它模拟了注入和执行恶意 SQL 的方法:
该查询字符串和变量:
字符串 emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
查询结果如下:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
......以及恶意制作的输入:
string emailAddress = "contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
将变成:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
飞行时的效果如何?
请注意,由于是字符串连接,输入内容被解释为 SQL 语法。首先,添加一个单引号,以确保 SELECT 语句是有效的 SQL 语法。接着,添加一个分号,以终止第一条语句。
一旦就位,就会添加一条有效的 DELETE 语句,然后用两个连字符注释掉任何尾部字符(单引号)。如果恶意 SQL 要更新用户的角色或密码,也可以添加 UPDATE 语句。
在这个可玩任务中亲自体验一下:
SQLi 虽然相对简单,但仍然是一个强大的攻击载体,而且非常常见。在 MOVEit 的案例中,这一漏洞为破坏性后门安装和一系列类似严重程度的进一步攻击创造了条件。
如何降低 SQL 注入风险?
任何使用 MOVEit 作为其业务运营一部分的公司,都必须遵循Progress 软件公司推荐的修复建议。这包括但不限于作为紧急优先事项应用安全补丁。
有关 SQL 注入的一般信息,请查看我们的综合指南。
想进一步了解如何编写安全代码和降低风险?请免费尝试我们的SQL 注入挑战。
如果您有兴趣获得更多免费的编码指南,请查看Secure Code Coach,它可帮助您始终掌握安全编码的最佳实践。
软件供应链网络攻击日益频繁,引发了美国政府层面的一系列立法变革,而企业则争相降低其巨大的风险,并迅速提高软件质量。仅今年就有三个与文件共享服务相关的零日漏洞,其中规模最大、破坏性最强的是 MOVEit 大规模漏洞。
由 CL0P 勒索软件组织发起的 MOVEit 事件一段时间以来一直占据着网络安全新闻的头条,有 1000 多家组织受到了影响。这一数字还将继续增长,使其成为自 2021 年 Solarwinds 以来最强大的软件供应链攻击之一。
这次大范围漏洞事件的催化剂是一组 SQL 注入漏洞,其严重性最终被MITRE 评为 9.8 分(满分 10 分)。自上世纪 90 年代末以来,SQL 注入一直是安全专业人员的心头大患,尽管这是一个相当简单的修复方法,但它仍在现代软件中大行其道,并为威胁行为者提供了通往敏感数据的红地毯。
MOVEit 场景与许多开发人员和应用程序安全专业人员以前可能经历过的场景有些不同,您可以在这里的实时模拟中测试自己的 SQLi 击杀技能:
>>>播放 MOVEit 任务
漏洞SQL 注入
Progress Software 公司的 MOVEit 文件传输应用程序究竟是如何利用 SQL 注入漏洞的?
CL0P 勒索软件小组利用 SQL 注入漏洞 CVE-2023-34362,在未经授权的情况下不受限制地访问 MOVEit 数据库。从那里,他们能够安装 LEMURLOOT,这是一个 web shell,最终允许他们运行几个高风险的关键进程,如检索系统设置、枚举 SQL 数据库、从 MOVEit 传输系统检索文件,以及创建一个具有完全管理权限的新账户。
不用说,这种攻击载体可能只是一个相对简单的错误,可以归结为长期使用不良的编码模式,但它在企业层面造成持续问题的潜力是巨大的。
与 MOVEit 漏洞利用类似,让我们看看这个 SQLi 解释器,它模拟了注入和执行恶意 SQL 的方法:
该查询字符串和变量:
字符串 emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
查询结果如下:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
......以及恶意制作的输入:
string emailAddress = "contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
将变成:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
飞行时的效果如何?
请注意,由于是字符串连接,输入内容被解释为 SQL 语法。首先,添加一个单引号,以确保 SELECT 语句是有效的 SQL 语法。接着,添加一个分号,以终止第一条语句。
一旦就位,就会添加一条有效的 DELETE 语句,然后用两个连字符注释掉任何尾部字符(单引号)。如果恶意 SQL 要更新用户的角色或密码,也可以添加 UPDATE 语句。
在这个可玩任务中亲自体验一下:
SQLi 虽然相对简单,但仍然是一个强大的攻击载体,而且非常常见。在 MOVEit 的案例中,这一漏洞为破坏性后门安装和一系列类似严重程度的进一步攻击创造了条件。
如何降低 SQL 注入风险?
任何使用 MOVEit 作为其业务运营一部分的公司,都必须遵循Progress 软件公司推荐的修复建议。这包括但不限于作为紧急优先事项应用安全补丁。
有关 SQL 注入的一般信息,请查看我们的综合指南。
想进一步了解如何编写安全代码和降低风险?请免费尝试我们的SQL 注入挑战。
如果您有兴趣获得更多免费的编码指南,请查看Secure Code Coach,它可帮助您始终掌握安全编码的最佳实践。
软件供应链网络攻击日益频繁,引发了美国政府层面的一系列立法变革,而企业则争相降低其巨大的风险,并迅速提高软件质量。仅今年就有三个与文件共享服务相关的零日漏洞,其中规模最大、破坏性最强的是 MOVEit 大规模漏洞。
由 CL0P 勒索软件组织发起的 MOVEit 事件一段时间以来一直占据着网络安全新闻的头条,有 1000 多家组织受到了影响。这一数字还将继续增长,使其成为自 2021 年 Solarwinds 以来最强大的软件供应链攻击之一。
这次大范围漏洞事件的催化剂是一组 SQL 注入漏洞,其严重性最终被MITRE 评为 9.8 分(满分 10 分)。自上世纪 90 年代末以来,SQL 注入一直是安全专业人员的心头大患,尽管这是一个相当简单的修复方法,但它仍在现代软件中大行其道,并为威胁行为者提供了通往敏感数据的红地毯。
MOVEit 场景与许多开发人员和应用程序安全专业人员以前可能经历过的场景有些不同,您可以在这里的实时模拟中测试自己的 SQLi 击杀技能:
>>>播放 MOVEit 任务
漏洞SQL 注入
Progress Software 公司的 MOVEit 文件传输应用程序究竟是如何利用 SQL 注入漏洞的?
CL0P 勒索软件小组利用 SQL 注入漏洞 CVE-2023-34362,在未经授权的情况下不受限制地访问 MOVEit 数据库。从那里,他们能够安装 LEMURLOOT,这是一个 web shell,最终允许他们运行几个高风险的关键进程,如检索系统设置、枚举 SQL 数据库、从 MOVEit 传输系统检索文件,以及创建一个具有完全管理权限的新账户。
不用说,这种攻击载体可能只是一个相对简单的错误,可以归结为长期使用不良的编码模式,但它在企业层面造成持续问题的潜力是巨大的。
与 MOVEit 漏洞利用类似,让我们看看这个 SQLi 解释器,它模拟了注入和执行恶意 SQL 的方法:
该查询字符串和变量:
字符串 emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
查询结果如下:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
......以及恶意制作的输入:
string emailAddress = "contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
将变成:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
飞行时的效果如何?
请注意,由于是字符串连接,输入内容被解释为 SQL 语法。首先,添加一个单引号,以确保 SELECT 语句是有效的 SQL 语法。接着,添加一个分号,以终止第一条语句。
一旦就位,就会添加一条有效的 DELETE 语句,然后用两个连字符注释掉任何尾部字符(单引号)。如果恶意 SQL 要更新用户的角色或密码,也可以添加 UPDATE 语句。
在这个可玩任务中亲自体验一下:
SQLi 虽然相对简单,但仍然是一个强大的攻击载体,而且非常常见。在 MOVEit 的案例中,这一漏洞为破坏性后门安装和一系列类似严重程度的进一步攻击创造了条件。
如何降低 SQL 注入风险?
任何使用 MOVEit 作为其业务运营一部分的公司,都必须遵循Progress 软件公司推荐的修复建议。这包括但不限于作为紧急优先事项应用安全补丁。
有关 SQL 注入的一般信息,请查看我们的综合指南。
想进一步了解如何编写安全代码和降低风险?请免费尝试我们的SQL 注入挑战。
如果您有兴趣获得更多免费的编码指南,请查看Secure Code Coach,它可帮助您始终掌握安全编码的最佳实践。