我们最近有一些 Magento2 项目被黑客攻击了。还不知道他们是怎么做的(我想这是一些 SQL 注入),但攻击者使用此代码包含了一些外部 JS 调用,其中 XXX 是编码 url 的某些部分
new Function(atob(XXX))()
这是 Adobe Commerce 2.4.5-p1(是的,这不是最新版本,但我想它已经足够“现代”了,足以让人感觉它应该能够防范 SQL 注入)我不明白的一点是:Magento2理论上控制哪些外部资源应该加载或不使用CSP白名单文件
如果其中不包含某些外部资源,则不应加载并且浏览器显示警告/错误消息“内容安全策略:页面的设置观察到在 XXX 加载资源”在这种情况下,我们可以在浏览器控制台中看到违规脚本的消息(因此我们可以理解它没有被加载),但即便如此,恶意代码仍被应用于网页
另一个棘手的问题是,这种情况只发生在 Windows 计算机上,即使使用现代版本的 Google Chrome 浏览器
我在这里缺少什么?
理论上,任何软件都可能随时受到一种或多种您或软件开发人员未知的漏洞攻击,例如“0 天漏洞利用”的性质。
列出的四个漏洞
,无论这些漏洞是否是您的情况的原因,我认为您需要自行确定。您声称 Adobe Commerce 2.5.1-P1 足够现代
,可以防止 SQL 注入,虽然它可能在该领域做出了很多努力,但没有理由假设任何软件的任何版本都可以抵御所有软件漏洞利用,这就是为什么安全更新是一场持续不断的战斗,而修补是许多组织的首要任务。同样,Chrome 处理 CSP 的方式可能有其自己的漏洞,允许攻击者链接到外部内容。希望其他人可以提出可能的原因。