黑客利用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地址,包括:

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

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

这个被破坏的访问控制漏洞源于Elementor Pro使用了“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帖子中列出的感染迹象,如果有任何迹象证明被更改或者入侵,请及时处理。


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

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

欢迎交流

展开阅读全文

更新时间:2024-08-09

标签:漏洞   插件   网站   迹象   脚本   函数   帐户   黑客   管理员   版本   用户

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top