安全研究人员 Denis Sinegubko 和 Adrian Stoian 近日发现,假冒的 jQuery Migrate 插件通过包含的混淆代码来加载恶意软件从而注入了数十家网站。
伪造的 jQuery Migrate 插件替换了相关文件
为了使用户更难检测到这一恶意行为,假冒的 jQuery Migrate 插件会替换了./wp-includes/js/jquery/
中的合法的 jquery-migrate.js 和 jquery-migrate.min.js 文件,这也是 WordPress 用于存储 jQuery 相关文件的目录。
被替换之后的 jquery-migrate.js 和 jquery-migrate.min.js 文件,虽然从命名上不会察觉到这两个文件有什么问题,但实际上这两个文件是用于加载恶意软件的,它们含有混淆代码,在代码中它们会进一步加载了一个神秘的 analytics.js 文件,这个文件里面也包含恶意代码,目前这次攻击产生的影响规模范围尚未确定。
该代码会引用 /wp-admin/user-new.php
,这是 WordPress 用于创建新用户的管理页面。此外,代码还访问了 WordPress 用来执行跨站点请求伪造(CSRF)保护的 _wpnonce_create-user
变量。
一般来说,能够获取或设置 CSRF 令牌,将使攻击者就有能力代表用户进行伪造请求,在 WordPress 网站上注入这样的脚本,可以让攻击者进行各种恶意活动,最严重包括从骗取信用卡到将用户重定向到诈骗网站等。
如何检测 WordPress 站点是否受到影响
截至目前,有超过 720 万个网站都在使用 jQuery Migrate 插件,从上面的分析可知,WordPress 在 /wp-includes/js/jquery/
目录中就带了 jQuery Migrate 插件,这也解释了为什么攻击者会用这个知名插件的名字来伪装他们的恶意软件。
如果你正在使用 WordPress,那么你最好检查一下自己的 /wp-includes/js/jquery/
目录下的 jquery-migrate.js 和 jquery-migrate.min.js 文件是否被替换了,如果你不能确认,最好直接从官网上下载 WordPress 压缩包,替换一下相关文件,除此之外还需要对网站活动进行检查,以确实是否存在恶意活动迹象等异常情况。
这也是我强调一定要从 WordPress 官网安装更新和下载插件的原因,之前由用户反馈在后台更新 WPJAM Basic,点击更新之后,显示绿色对号更新成功了,刷新页面发现又变回点击前的版本和状态了。
我的回复都是:现在 WordPress 插件已经不屏蔽国内下载了,所以请直接更新插件即可!同样的道理,其他更新也最好直接通过官方渠道更新,避免一些安全问题和其他一些不必要的麻烦。