在名为“垃圾邮件保护、反垃圾邮件、CleanTalk防火墙”的WordPress插件中发现的SQL注入漏洞可能会将用户电子邮件、密码、信用卡数据和其他敏感信息暴露给未经验证的攻击者。
[出自:jiwo.org]
CleanTalk的垃圾邮件保护、反垃圾邮件、防火墙安装在10万多个网站上,主要用于清除网站讨论板上的垃圾评论和垃圾评论。
根据wordfence的说法,这个问题(CVE-2021-24295,其严重的CVSS漏洞等级为7.5分(满分10分))的出现要归功于它执行过滤的方式。它维护阻止列表并跟踪不同IP地址的行为,包括浏览器发送以识别自己的用户代理字符串。
该公司周二发布了一份分析报告称:“不幸的是,lib/Cleantalk/ApbctWP/Firewall/SFW.php中用于将这些请求的记录插入数据库的update_log函数未能使用准备好的SQL语句。”
SQL注入是一个网络安全漏洞,使得攻击者能够干扰应用程序对其数据库进行的查询,从而截获或推断数据库在被查询时返回的响应。准备好的语句是防止这种情况发生的方法之一;它们隔离每个查询参数,这样对手就无法看到返回数据的整个范围。
他们说,研究人员能够通过基于时间的盲目SQL注入技术成功利用CleanTalk中的漏洞。这是一种方法,涉及向数据库发送“猜测”数据库表内容的请求,并指示数据库延迟响应或在猜测正确时“休眠”。
“例如,请求可能会询问数据库管理员用户电子邮件地址的第一个字母是否以字母‘c’开头,如果是这样,则指示数据库延迟5秒响应,然后尝试按顺序猜测后面的字母,”根据Wordfence的说法,该请求可能会询问数据库管理员用户的电子邮件地址的第一个字母是否以字母‘c’开头,如果是这样,则指示数据库延迟响应5秒,然后尝试按顺序猜测后面的字母。“根据易受攻击查询的确切构造,还有许多其他SQL注入技术可以绕过多种形式的传统输入清理。”
Wordfence确实概述了插件代码中的几个特性,这些特性使得这个问题更难被利用。例如,易受攻击的SQL查询是一个“插入”查询。
“由于数据没有被插入到敏感的表中,所以攻击者不能使用INSERT查询通过更改数据库中的值来攻击网站,这也使得从数据库中检索任何敏感数据变得困难,”Wordfence说。
此外,SQL语句使用了“SANITIZE_TEXT_FIELD”函数来阻止SQL注入,并且用户代理包含在查询中的单引号中。
研究人员说:“尽管存在这些障碍,我们还是能够通过在用户代理请求报头中发送包含SQL命令的请求,来制作一种概念验证,能够从数据库中的任何位置提取数据。”
为了受到保护,Web管理员应该更新该插件的补丁版本5.153.4。