首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

黑客利用WordPress插件漏洞控制数百万网站

用心做分享,只为给您最好的学习教程

近期,黑客频繁利用WordPress插件中的关键漏洞,从而控制数百万个网站。

该漏洞的严重性评级为8.8(满分为10),存在于Elementor Pro中。高级插件 在超过1200万个由WordPress内容管理系统的网站上运行。Elementor Pro允许用户使用各种工具创建高质量的网站,其中之一是WooCommerce,一个单独的WordPress插件。该漏洞使得,任何在站点上拥有帐户的人(例如订阅者或客户)都可以创建具有完全管理员权限的新帐户。

该漏洞是由安全公司NinTechNet的研究员杰罗姆Bruandet发现的。上周,Elementor Pro插件的开发商Elementor 释放 版本3.11.7,修补了该漏洞。Bruandet写道:

经过身份验证的攻击者可以利用该漏洞,通过启用注册(users_can_register )并将默认角色( default_role )设置为“administrator”来创建管理员帐户,更改管理员电子邮件地址( admin_email ),或者如下所示,通过更改siteurl 在许多其他可能性中:

MariaDB [example]> SELECT * FROM `wp_options` WHERE `option_name`='siteurl';

| option_id | option_name | option_value     | autoload |

+-----------+-------------+------------------+----------+

|            1 | siteurl     | https://evil.com | yes    |

+-----------+-------------+------------------+----------+

1 row in set (0.001 sec)

现在,一家独立的安全公司PatchStack的研究人员报告该漏洞正在被积极利用。攻击来自各种IP地址,包括:

193.169.194.63

193.169.195.64

194.135.30.6

……

上传到受感染站点的文件通常具有以下名称:

被入侵网站的URL经常被更改为:

这个被破坏的访问控制漏洞源于ElementorPro使用了“elementor-pro/modules/woocommerce/module.php”组件。当WooCommerce运行时,此脚本注册以下AJAX操作:

/**

* Register Ajax Actions.

*

* Registers ajax action used by the Editor js.

*

* @since 3.5.0

*

* @param Ajax $ajax

*/

public function register_ajax_actions( Ajax $ajax ) {

// `woocommerce_update_page_option` is called in the editor save-show-modal.js.

$ajax->register_ajax_action( 'pro_woocommerce_update_page_option', [ $this, 'update_page_option' ] );

$ajax->register_ajax_action( 'pro_woocommerce_mock_notices', [ $this, 'woocommerce_mock_notices' ] );

}

and

/**

* Update Page Option.

*

* Ajax action can be used to update any WooCommerce option.

*

* @since 3.5.0

*

* @param array $data

*/

public function update_page_option( $data ) {

update_option( $data['option_name'], $data['editor_post_id'] );

}

update_option函数“应该允许管理员或商店经理更新一些特定的WooCommerce选项,但用户输入没有经过验证,并且该函数缺乏功能检查,只能将其访问限制为高权限用户,”Bruandet解释说。他接着说:

Elementor使用自己的阿贾克斯处理程序来管理其大部分AJAX操作,包括 pro_woocommerce_update_page_option ,与全局 elementor_ajax 行动。它位于免费版本的“elementor/core/common/modules/ajax/module.php”脚本中(运行Elementor Pro需要该脚本):

* Handle ajax request.

* Verify ajax nonce, and run all the registered actions for this request.

* Fired by `wp_ajax_elementor_ajax` action.

* @since 2.0.0

* @access public

public function handle_ajax_request() {

if ( ! $this->verify_request_nonce() ) {

       $this->add_response_data( false, esc_html__( 'Token Expired.', 'elementor' ) )

  ->send_error( Exceptions::UNAUTHORIZED );

}

...

最后,请所有正在使用Elementor Pro的管理员,请确保运行的是3.11.7或更高版本,避免受到此次攻击。同时,检查网站是否有上述PatchStack帖子中列出的感染迹象,如果有任何迹象证明被更改或者入侵,请及时处理。

本文仅作技术分享 切勿用于非法途径

如果您对文中的软件或者技术感兴趣

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230404A05PF200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券