Wordfence安全研究人员近期发现WordPress Total Donations插件的多个关键漏洞。这些漏洞存在于所有版本的Total Donations插件中,包括最新的2.0.5版本。恶意攻击者利用该漏洞可以获取受影响的WordPress网站的管理权限。该漏洞CVE编号为CVE-2019-6703。

Access log

研究人员在调查分析中发现,在站点的access log中存在可疑的AJAX动作:

POST /wp-admin/admin-ajax.php?action=migla_getme
POST /wp-admin/admin-ajax.php?action=migla_getme
POST /wp-admin/admin-ajax.php?action=miglaA_update_me
POST /wp-admin/admin-ajax.php?action=miglaA_update_me
GET /wp-login.php?action=register

搜索站点代码中的字符串migla_getme和miglaA_update_me显示安装了Total Donations插件,研究人员迅速发现了被利用的漏洞和攻击者的工作流。

攻击者犯了一个错误就是在请求的查询字符串中使用了?action=。WordPress的AJAX API认为$_GET['action']和$_POST['action']是一样的,所以如果action传递到请求的POST主体中而不是query字符串,活动就不会这么明显。

多个有漏洞的AJAX Actions

Total Donations在WordPress中一共注册了88个不同的AJAX action,每个都可以通过查询/wp-admin/admin-ajax.php来访问(包括非授权的用户)。研究人员已经确定这88个action中有49个可以被恶意攻击者利用来访问敏感数据、对站点的内容和配置数据进行非授权的修改,甚至完全控制有漏洞的站点。

还有一些其他值得思考的问题:

任意option更新致站点被黑

Total Donations插件最急迫的漏洞就是允许非授权的用户来读取和更新任意的WordPress option。

函数migla_getme和migla_getme_array都允许非授权的用户读取任意WordPress option的值。

miglaA_update_me, miglaA_update_arr, miglaA_update_barinfo (等同于miglaA_update_me)可以被用来修改option的值。

migla_getme和miglaA_update_me可以被用来启用users_can_register option,设置default_role为administrator。有了这些设置,任意用户都可以在有漏洞的网站上以管理权限自由注册账号,并执行恶意活动。

访问、修改和删除Stripe支付方案

Total Donations可以连接到Stripe作为支付处理器,并使用Stripe的API来定时支付。但没有AJAX函数可以用来与这些特征进行交互。

包括miglaA_stripe_addPlan, miglaA_syncPlan, miglaA_stripe_deletePlan在内的函数都可以被利用来对受影响的站点的经常性捐赠进行非授权的修改。

除此之外,结合了miglaA_update_me的任意option更新漏洞,攻击者可以修改保存Stripe API key的option来将进入的捐赠路由到完全不同的Stripe账号。

其他漏洞

该插件中还存在其他的漏洞,攻击者利用这些漏洞可以获取管理员权限,并以此执行其他恶意活动。

函数miglaA_export_report是用来产生捐赠报告的,允许非授权访问私有和未公布的post。

miglaA_save_campaign和miglaA_save_campaign_creator都调用了内部函数updateACampaignCretor (sic),如果WordPress的wp_magic_quotes被绕过,那么利用该函数的漏洞可以进行SQL注入;如果wp_magic_quotes没有被绕过,也可以用来修改任意post的标题。

包括miglaA_test_email在内的多个action可能会被滥用来发送测试邮件到任意地址。这可能会通过触发主机的收件箱中继限制来发起收件箱DOS攻击,或使受害者网站进入垃圾邮件黑名单中。

开发者响应

这些安全漏洞可以称之为0 day漏洞,因为缺乏可用的补丁。从1月16日开始,研究人员持续联系Total Donations的开发者团队以尽快修复该漏洞。但结果并不理想,Total Donations官网自2018年5月开始显示coming soon。

关于该插件的评论很多是缺乏产品支持,甚至有用户3年前就抱怨没有收到开发者的响应。

从目前的迹象来看,该开发者应该没有继续维护该项目,研究人员1月16日邮件联系后还没有收到回复。

建议

因为开发者目前联系不到,短期应该也无法提供补丁。因此研究人员建议用户移除该插件。

本文翻译自:https://www.wordfence.com/blog/2019/01/wordpress-sites-compromised-via-zero-day-vulnerabilities-in-total-donations-plugin/如若转载,请注明原文地址: http://www.4hou.com/vulnerable/15967.html
源链接

Hacking more

...