WordPress Loginizer Plugin 已针对一个漏洞发布了一个安全补丁,该漏洞可能允许黑客通过 未经身份验证的 SQL 注入 开发。
这种利用,也称为盲 SQL 注入,依赖于将数据输入到输入中以触发错误响应。 在这种情况下,输入是用户名。
Loginizer WordPress 插件没有办法清理输入,这意味着它没有办法补偿错误输入。 这导致插件创建错误情况。
“该漏洞是在蛮力保护功能中触发的,该功能在首次安装插件时默认启用。 当用户尝试使用未知用户名登录时,该尝试会记录在后端数据库中,其中用户名以及其他参数在放入 SQL 查询之前未得到正确验证。”
发现该漏洞的安全研究人员发布了 Loginizer 漏洞利用演练,显示如何使用错误响应到达与其功能相关的插件区域。 在那里,黑客可以看到容易受到 SQL 注入的攻击。
研究人员是这样描述的:
…通过函数定义,我们看到原始的 $username 是如何到达插件功能的……此外,在这个函数中,还有对未清理 DB 参数的 DB 的调用……我们看到了基于用户登录数据的 SQLi 易受攻击的地方。”
演练继续进行概念验证并得出结论:
……就是这样,通过 $username 来了解 SQLi + XSS 不仅简单而且详细。”
存储型 XSS 漏洞
Loginizer 的问题不仅限于 SQL 注入漏洞。 这不仅仅是一个问题,而是两个问题。
第二个漏洞被称为存储跨站点脚本(Stored XSS)漏洞。 这是 XSS 漏洞的一个特别糟糕的版本。
通过这种利用,黑客通常可以直接注入恶意文件,然后利用 WordPress 站点和/或用户。 通常,恶意文件可以提供给站点访问者的浏览器。
登录器变更日志
变更日志是软件开发人员对软件所做的所有更改的日志。 当您更新插件时,WordPress 让您有机会单击并查看这些更改的描述。 这些描述来自变更日志。 所有 WordPress 插件开发人员在 WordPress 插件存储库中以及通常在他们的网站上都有一个正在运行的更改日志。
据官方介绍 登录器变更日志,此问题会影响最新版本之前的版本,即 Loginizer 版本 1.6.4。
Loginizer 插件变更日志描述了两个补丁,如下所示:
“[Security Fix] :用于登录的正确设计的用户名可能导致 SQL 注入。 这已通过使用 PHP 中的 prepare 函数修复,该函数准备 SQL 查询以安全执行。
[Security Fix] :如果 IP HTTP 标头被修改为具有空字节,则可能导致存储的 XSS。 这已通过在使用 IP HTTP 标头之前正确清理它来解决。”
应该赞扬 Loginizer 在其变更日志中直率地描述问题。
Loginizer 插件变更日志的屏幕截图
一些插件发布者试图通过使用技术术语来隐藏更新是安全修复,而不是提及有安全修复。
诚实地对待更新的内容,Loginizer 的做法,是优秀插件开发人员的标志。
WordPress 自动更新
WordPress 触发了强制自动更新。 大多数运行此插件的网站(高达 89%)应该已经成功更新了他们的插件。
强烈建议所有使用 Loginizer 安全插件的 WordPress 发布者检查他们正在使用的插件版本,如果尚未这样做,请立即更新它。